 /* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

JDFusion
云主机、网卡、云硬盘、网络与相关、关系型数据库、对象存储等相关的接口

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#import <Foundation/Foundation.h>
#import <JDCloudOCSDKJdfusion/JdfusionExecutor.h>

@implementation JdfusionClient

@synthesize userAgent = _userAgent;
@synthesize serviceName = _serviceName;
@synthesize version = _version;

-(void) addCustomerHeaderWithKey:(NSString*) key
                           value:(NSString*) value{
    if(![self customHeader])
    {
        self.customHeader = [[NSMutableDictionary alloc] init];
    }
    if(key && value)
    {
        [[self customHeader] setValue:value forKey:key];
    }
   
}

-(id)initWithGlobalConfig{
    if(![GlobalConfig credential])
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@"GlobalConfig credential not config" userInfo:nil];
        @throw e;
    }
    self.credential = [GlobalConfig credential];
    if(![GlobalConfig sdkEnvironment])
    {
        self.sdkEnvironment = [[SDKEnvironment alloc] initWithEndPoint:@"jdfusion.jdcloud-api.com"];
    }else
    {
        self.sdkEnvironment = [GlobalConfig sdkEnvironment];
    }
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 jdfusion  v1";
    _serviceName = @"jdfusion";
    _version = @"v1";
    self.contentType = @"application/json";
    return self;
}

-(id)initWithCredential:(Credential*)credential
         sdkEnvironment:(SDKEnvironment*)sdkEnvironment
{
    if(!credential)
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@" credential can not null" userInfo:nil];
        @throw e;
    }else{
        self.credential = credential;
    }
    
    if(!sdkEnvironment)
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@" sdkEnvironment can not null" userInfo:nil];
        @throw e;
    }else{
        self.sdkEnvironment = sdkEnvironment;
    }
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 jdfusion  v1";
    _serviceName = @"jdfusion";
    _version = @"v1";
    self.contentType = @"application/json";
    return self;
}

-(id)initWithCredential:(Credential*)credential
{
    if(!credential)
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@" credential can not null" userInfo:nil];
        @throw e;
    }else{
        self.credential = credential;
    }
    if(![GlobalConfig sdkEnvironment])
    {
        self.sdkEnvironment = [[SDKEnvironment alloc] initWithEndPoint:@"jdfusion.jdcloud-api.com"];
    }else
    {
        self.sdkEnvironment = [GlobalConfig sdkEnvironment];
    }
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 jdfusion  v1";
    _serviceName = @"jdfusion";
    _version = @"v1";
    self.contentType = @"application/json";
    return self;
}

-(id)init{
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 jdfusion  v1";
    _serviceName = @"jdfusion";
    _version = @"v1";
    self.contentType = @"application/json";
    return self;
}


/**
startVmInstanceById sync request
@param startVmInstanceByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `startVmInstanceByIdResponse` the request response data model
*/
-(NSDictionary*) startVmInstanceByIdSyncWithRequest:(JdfusionStartVmInstanceByIdRequest*) startVmInstanceByIdRequest
{
JdfusionStartVmInstanceByIdExecutor* excutor = [[JdfusionStartVmInstanceByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:startVmInstanceByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionStartVmInstanceByIdResponse* response = [[JdfusionStartVmInstanceByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"startVmInstanceByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)startVmInstanceByIdAsyncWithRequest:(JdfusionStartVmInstanceByIdRequest*) startVmInstanceByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionStartVmInstanceByIdResponse* _Nullable startVmInstanceByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionStartVmInstanceByIdExecutor* excutor = [[JdfusionStartVmInstanceByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:startVmInstanceByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionStartVmInstanceByIdResponse* response = [[JdfusionStartVmInstanceByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteRdsAccount sync request
@param deleteRdsAccountRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteRdsAccountResponse` the request response data model
*/
-(NSDictionary*) deleteRdsAccountSyncWithRequest:(JdfusionDeleteRdsAccountRequest*) deleteRdsAccountRequest
{
JdfusionDeleteRdsAccountExecutor* excutor = [[JdfusionDeleteRdsAccountExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteRdsAccountRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteRdsAccountResponse* response = [[JdfusionDeleteRdsAccountResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteRdsAccountResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteRdsAccountAsyncWithRequest:(JdfusionDeleteRdsAccountRequest*) deleteRdsAccountRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDeleteRdsAccountResponse* _Nullable deleteRdsAccountResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDeleteRdsAccountExecutor* excutor = [[JdfusionDeleteRdsAccountExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteRdsAccountRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteRdsAccountResponse* response = [[JdfusionDeleteRdsAccountResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createDeployment sync request
@param createDeploymentRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createDeploymentResponse` the request response data model
*/
-(NSDictionary*) createDeploymentSyncWithRequest:(JdfusionCreateDeploymentRequest*) createDeploymentRequest
{
JdfusionCreateDeploymentExecutor* excutor = [[JdfusionCreateDeploymentExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createDeploymentRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateDeploymentResponse* response = [[JdfusionCreateDeploymentResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createDeploymentResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createDeploymentAsyncWithRequest:(JdfusionCreateDeploymentRequest*) createDeploymentRequest
                       completionHandler:(void(^)(int statusCode,JdfusionCreateDeploymentResponse* _Nullable createDeploymentResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionCreateDeploymentExecutor* excutor = [[JdfusionCreateDeploymentExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createDeploymentRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateDeploymentResponse* response = [[JdfusionCreateDeploymentResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getBucketByName sync request
@param getBucketByNameRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getBucketByNameResponse` the request response data model
*/
-(NSDictionary*) getBucketByNameSyncWithRequest:(JdfusionGetBucketByNameRequest*) getBucketByNameRequest
{
JdfusionGetBucketByNameExecutor* excutor = [[JdfusionGetBucketByNameExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getBucketByNameRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetBucketByNameResponse* response = [[JdfusionGetBucketByNameResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getBucketByNameResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getBucketByNameAsyncWithRequest:(JdfusionGetBucketByNameRequest*) getBucketByNameRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetBucketByNameResponse* _Nullable getBucketByNameResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetBucketByNameExecutor* excutor = [[JdfusionGetBucketByNameExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getBucketByNameRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetBucketByNameResponse* response = [[JdfusionGetBucketByNameResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getTaskInfoHistoryById sync request
@param getTaskInfoHistoryByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getTaskInfoHistoryByIdResponse` the request response data model
*/
-(NSDictionary*) getTaskInfoHistoryByIdSyncWithRequest:(JdfusionGetTaskInfoHistoryByIdRequest*) getTaskInfoHistoryByIdRequest
{
JdfusionGetTaskInfoHistoryByIdExecutor* excutor = [[JdfusionGetTaskInfoHistoryByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getTaskInfoHistoryByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetTaskInfoHistoryByIdResponse* response = [[JdfusionGetTaskInfoHistoryByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getTaskInfoHistoryByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getTaskInfoHistoryByIdAsyncWithRequest:(JdfusionGetTaskInfoHistoryByIdRequest*) getTaskInfoHistoryByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetTaskInfoHistoryByIdResponse* _Nullable getTaskInfoHistoryByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetTaskInfoHistoryByIdExecutor* excutor = [[JdfusionGetTaskInfoHistoryByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getTaskInfoHistoryByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetTaskInfoHistoryByIdResponse* response = [[JdfusionGetTaskInfoHistoryByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getVmInstances sync request
@param getVmInstancesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVmInstancesResponse` the request response data model
*/
-(NSDictionary*) getVmInstancesSyncWithRequest:(JdfusionGetVmInstancesRequest*) getVmInstancesRequest
{
JdfusionGetVmInstancesExecutor* excutor = [[JdfusionGetVmInstancesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getVmInstancesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVmInstancesResponse* response = [[JdfusionGetVmInstancesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getVmInstancesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getVmInstancesAsyncWithRequest:(JdfusionGetVmInstancesRequest*) getVmInstancesRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetVmInstancesResponse* _Nullable getVmInstancesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetVmInstancesExecutor* excutor = [[JdfusionGetVmInstancesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getVmInstancesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVmInstancesResponse* response = [[JdfusionGetVmInstancesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getDeploymentsResultsByIdRecord sync request
@param getDeploymentsResultsByIdRecordRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getDeploymentsResultsByIdRecordResponse` the request response data model
*/
-(NSDictionary*) getDeploymentsResultsByIdRecordSyncWithRequest:(JdfusionGetDeploymentsResultsByIdRecordRequest*) getDeploymentsResultsByIdRecordRequest
{
JdfusionGetDeploymentsResultsByIdRecordExecutor* excutor = [[JdfusionGetDeploymentsResultsByIdRecordExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getDeploymentsResultsByIdRecordRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetDeploymentsResultsByIdRecordResponse* response = [[JdfusionGetDeploymentsResultsByIdRecordResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getDeploymentsResultsByIdRecordResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getDeploymentsResultsByIdRecordAsyncWithRequest:(JdfusionGetDeploymentsResultsByIdRecordRequest*) getDeploymentsResultsByIdRecordRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetDeploymentsResultsByIdRecordResponse* _Nullable getDeploymentsResultsByIdRecordResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetDeploymentsResultsByIdRecordExecutor* excutor = [[JdfusionGetDeploymentsResultsByIdRecordExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getDeploymentsResultsByIdRecordRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetDeploymentsResultsByIdRecordResponse* response = [[JdfusionGetDeploymentsResultsByIdRecordResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
rollbackDeploymentsVersion sync request
@param rollbackDeploymentsVersionRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `rollbackDeploymentsVersionResponse` the request response data model
*/
-(NSDictionary*) rollbackDeploymentsVersionSyncWithRequest:(JdfusionRollbackDeploymentsVersionRequest*) rollbackDeploymentsVersionRequest
{
JdfusionRollbackDeploymentsVersionExecutor* excutor = [[JdfusionRollbackDeploymentsVersionExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:rollbackDeploymentsVersionRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionRollbackDeploymentsVersionResponse* response = [[JdfusionRollbackDeploymentsVersionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"rollbackDeploymentsVersionResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)rollbackDeploymentsVersionAsyncWithRequest:(JdfusionRollbackDeploymentsVersionRequest*) rollbackDeploymentsVersionRequest
                       completionHandler:(void(^)(int statusCode,JdfusionRollbackDeploymentsVersionResponse* _Nullable rollbackDeploymentsVersionResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionRollbackDeploymentsVersionExecutor* excutor = [[JdfusionRollbackDeploymentsVersionExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:rollbackDeploymentsVersionRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionRollbackDeploymentsVersionResponse* response = [[JdfusionRollbackDeploymentsVersionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getRdsDatabaseByInstIdAndDbName sync request
@param getRdsDatabaseByInstIdAndDbNameRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getRdsDatabaseByInstIdAndDbNameResponse` the request response data model
*/
-(NSDictionary*) getRdsDatabaseByInstIdAndDbNameSyncWithRequest:(JdfusionGetRdsDatabaseByInstIdAndDbNameRequest*) getRdsDatabaseByInstIdAndDbNameRequest
{
JdfusionGetRdsDatabaseByInstIdAndDbNameExecutor* excutor = [[JdfusionGetRdsDatabaseByInstIdAndDbNameExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getRdsDatabaseByInstIdAndDbNameRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetRdsDatabaseByInstIdAndDbNameResponse* response = [[JdfusionGetRdsDatabaseByInstIdAndDbNameResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getRdsDatabaseByInstIdAndDbNameResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getRdsDatabaseByInstIdAndDbNameAsyncWithRequest:(JdfusionGetRdsDatabaseByInstIdAndDbNameRequest*) getRdsDatabaseByInstIdAndDbNameRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetRdsDatabaseByInstIdAndDbNameResponse* _Nullable getRdsDatabaseByInstIdAndDbNameResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetRdsDatabaseByInstIdAndDbNameExecutor* excutor = [[JdfusionGetRdsDatabaseByInstIdAndDbNameExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getRdsDatabaseByInstIdAndDbNameRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetRdsDatabaseByInstIdAndDbNameResponse* response = [[JdfusionGetRdsDatabaseByInstIdAndDbNameResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getDeploymentVersions sync request
@param getDeploymentVersionsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getDeploymentVersionsResponse` the request response data model
*/
-(NSDictionary*) getDeploymentVersionsSyncWithRequest:(JdfusionGetDeploymentVersionsRequest*) getDeploymentVersionsRequest
{
JdfusionGetDeploymentVersionsExecutor* excutor = [[JdfusionGetDeploymentVersionsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getDeploymentVersionsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetDeploymentVersionsResponse* response = [[JdfusionGetDeploymentVersionsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getDeploymentVersionsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getDeploymentVersionsAsyncWithRequest:(JdfusionGetDeploymentVersionsRequest*) getDeploymentVersionsRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetDeploymentVersionsResponse* _Nullable getDeploymentVersionsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetDeploymentVersionsExecutor* excutor = [[JdfusionGetDeploymentVersionsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getDeploymentVersionsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetDeploymentVersionsResponse* response = [[JdfusionGetDeploymentVersionsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getVpcById sync request
@param getVpcByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcByIdResponse` the request response data model
*/
-(NSDictionary*) getVpcByIdSyncWithRequest:(JdfusionGetVpcByIdRequest*) getVpcByIdRequest
{
JdfusionGetVpcByIdExecutor* excutor = [[JdfusionGetVpcByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getVpcByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcByIdResponse* response = [[JdfusionGetVpcByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getVpcByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getVpcByIdAsyncWithRequest:(JdfusionGetVpcByIdRequest*) getVpcByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetVpcByIdResponse* _Nullable getVpcByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetVpcByIdExecutor* excutor = [[JdfusionGetVpcByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getVpcByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcByIdResponse* response = [[JdfusionGetVpcByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getRdsAccountsByInstIdAndAccountName sync request
@param getRdsAccountsByInstIdAndAccountNameRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getRdsAccountsByInstIdAndAccountNameResponse` the request response data model
*/
-(NSDictionary*) getRdsAccountsByInstIdAndAccountNameSyncWithRequest:(JdfusionGetRdsAccountsByInstIdAndAccountNameRequest*) getRdsAccountsByInstIdAndAccountNameRequest
{
JdfusionGetRdsAccountsByInstIdAndAccountNameExecutor* excutor = [[JdfusionGetRdsAccountsByInstIdAndAccountNameExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getRdsAccountsByInstIdAndAccountNameRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetRdsAccountsByInstIdAndAccountNameResponse* response = [[JdfusionGetRdsAccountsByInstIdAndAccountNameResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getRdsAccountsByInstIdAndAccountNameResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getRdsAccountsByInstIdAndAccountNameAsyncWithRequest:(JdfusionGetRdsAccountsByInstIdAndAccountNameRequest*) getRdsAccountsByInstIdAndAccountNameRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetRdsAccountsByInstIdAndAccountNameResponse* _Nullable getRdsAccountsByInstIdAndAccountNameResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetRdsAccountsByInstIdAndAccountNameExecutor* excutor = [[JdfusionGetRdsAccountsByInstIdAndAccountNameExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getRdsAccountsByInstIdAndAccountNameRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetRdsAccountsByInstIdAndAccountNameResponse* response = [[JdfusionGetRdsAccountsByInstIdAndAccountNameResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getVpcNetworkInterfaceById sync request
@param getVpcNetworkInterfaceByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcNetworkInterfaceByIdResponse` the request response data model
*/
-(NSDictionary*) getVpcNetworkInterfaceByIdSyncWithRequest:(JdfusionGetVpcNetworkInterfaceByIdRequest*) getVpcNetworkInterfaceByIdRequest
{
JdfusionGetVpcNetworkInterfaceByIdExecutor* excutor = [[JdfusionGetVpcNetworkInterfaceByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getVpcNetworkInterfaceByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcNetworkInterfaceByIdResponse* response = [[JdfusionGetVpcNetworkInterfaceByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getVpcNetworkInterfaceByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getVpcNetworkInterfaceByIdAsyncWithRequest:(JdfusionGetVpcNetworkInterfaceByIdRequest*) getVpcNetworkInterfaceByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetVpcNetworkInterfaceByIdResponse* _Nullable getVpcNetworkInterfaceByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetVpcNetworkInterfaceByIdExecutor* excutor = [[JdfusionGetVpcNetworkInterfaceByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getVpcNetworkInterfaceByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcNetworkInterfaceByIdResponse* response = [[JdfusionGetVpcNetworkInterfaceByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteSecurityGroupsRule sync request
@param deleteSecurityGroupsRuleRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteSecurityGroupsRuleResponse` the request response data model
*/
-(NSDictionary*) deleteSecurityGroupsRuleSyncWithRequest:(JdfusionDeleteSecurityGroupsRuleRequest*) deleteSecurityGroupsRuleRequest
{
JdfusionDeleteSecurityGroupsRuleExecutor* excutor = [[JdfusionDeleteSecurityGroupsRuleExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteSecurityGroupsRuleRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteSecurityGroupsRuleResponse* response = [[JdfusionDeleteSecurityGroupsRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteSecurityGroupsRuleResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteSecurityGroupsRuleAsyncWithRequest:(JdfusionDeleteSecurityGroupsRuleRequest*) deleteSecurityGroupsRuleRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDeleteSecurityGroupsRuleResponse* _Nullable deleteSecurityGroupsRuleResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDeleteSecurityGroupsRuleExecutor* excutor = [[JdfusionDeleteSecurityGroupsRuleExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteSecurityGroupsRuleRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteSecurityGroupsRuleResponse* response = [[JdfusionDeleteSecurityGroupsRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getDeploymentResult sync request
@param getDeploymentResultRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getDeploymentResultResponse` the request response data model
*/
-(NSDictionary*) getDeploymentResultSyncWithRequest:(JdfusionGetDeploymentResultRequest*) getDeploymentResultRequest
{
JdfusionGetDeploymentResultExecutor* excutor = [[JdfusionGetDeploymentResultExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getDeploymentResultRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetDeploymentResultResponse* response = [[JdfusionGetDeploymentResultResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getDeploymentResultResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getDeploymentResultAsyncWithRequest:(JdfusionGetDeploymentResultRequest*) getDeploymentResultRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetDeploymentResultResponse* _Nullable getDeploymentResultResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetDeploymentResultExecutor* excutor = [[JdfusionGetDeploymentResultExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getDeploymentResultRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetDeploymentResultResponse* response = [[JdfusionGetDeploymentResultResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
editTransferTask sync request
@param editTransferTaskRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `editTransferTaskResponse` the request response data model
*/
-(NSDictionary*) editTransferTaskSyncWithRequest:(JdfusionEditTransferTaskRequest*) editTransferTaskRequest
{
JdfusionEditTransferTaskExecutor* excutor = [[JdfusionEditTransferTaskExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:editTransferTaskRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionEditTransferTaskResponse* response = [[JdfusionEditTransferTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"editTransferTaskResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)editTransferTaskAsyncWithRequest:(JdfusionEditTransferTaskRequest*) editTransferTaskRequest
                       completionHandler:(void(^)(int statusCode,JdfusionEditTransferTaskResponse* _Nullable editTransferTaskResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionEditTransferTaskExecutor* excutor = [[JdfusionEditTransferTaskExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:editTransferTaskRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionEditTransferTaskResponse* response = [[JdfusionEditTransferTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getBuckets sync request
@param getBucketsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getBucketsResponse` the request response data model
*/
-(NSDictionary*) getBucketsSyncWithRequest:(JdfusionGetBucketsRequest*) getBucketsRequest
{
JdfusionGetBucketsExecutor* excutor = [[JdfusionGetBucketsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getBucketsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetBucketsResponse* response = [[JdfusionGetBucketsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getBucketsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getBucketsAsyncWithRequest:(JdfusionGetBucketsRequest*) getBucketsRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetBucketsResponse* _Nullable getBucketsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetBucketsExecutor* excutor = [[JdfusionGetBucketsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getBucketsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetBucketsResponse* response = [[JdfusionGetBucketsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
rebootVmInstanceById sync request
@param rebootVmInstanceByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `rebootVmInstanceByIdResponse` the request response data model
*/
-(NSDictionary*) rebootVmInstanceByIdSyncWithRequest:(JdfusionRebootVmInstanceByIdRequest*) rebootVmInstanceByIdRequest
{
JdfusionRebootVmInstanceByIdExecutor* excutor = [[JdfusionRebootVmInstanceByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:rebootVmInstanceByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionRebootVmInstanceByIdResponse* response = [[JdfusionRebootVmInstanceByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"rebootVmInstanceByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)rebootVmInstanceByIdAsyncWithRequest:(JdfusionRebootVmInstanceByIdRequest*) rebootVmInstanceByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionRebootVmInstanceByIdResponse* _Nullable rebootVmInstanceByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionRebootVmInstanceByIdExecutor* excutor = [[JdfusionRebootVmInstanceByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:rebootVmInstanceByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionRebootVmInstanceByIdResponse* response = [[JdfusionRebootVmInstanceByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
startTransferTask sync request
@param startTransferTaskRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `startTransferTaskResponse` the request response data model
*/
-(NSDictionary*) startTransferTaskSyncWithRequest:(JdfusionStartTransferTaskRequest*) startTransferTaskRequest
{
JdfusionStartTransferTaskExecutor* excutor = [[JdfusionStartTransferTaskExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:startTransferTaskRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionStartTransferTaskResponse* response = [[JdfusionStartTransferTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"startTransferTaskResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)startTransferTaskAsyncWithRequest:(JdfusionStartTransferTaskRequest*) startTransferTaskRequest
                       completionHandler:(void(^)(int statusCode,JdfusionStartTransferTaskResponse* _Nullable startTransferTaskResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionStartTransferTaskExecutor* excutor = [[JdfusionStartTransferTaskExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:startTransferTaskRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionStartTransferTaskResponse* response = [[JdfusionStartTransferTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
grantRdsAccount sync request
@param grantRdsAccountRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `grantRdsAccountResponse` the request response data model
*/
-(NSDictionary*) grantRdsAccountSyncWithRequest:(JdfusionGrantRdsAccountRequest*) grantRdsAccountRequest
{
JdfusionGrantRdsAccountExecutor* excutor = [[JdfusionGrantRdsAccountExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:grantRdsAccountRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGrantRdsAccountResponse* response = [[JdfusionGrantRdsAccountResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"grantRdsAccountResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)grantRdsAccountAsyncWithRequest:(JdfusionGrantRdsAccountRequest*) grantRdsAccountRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGrantRdsAccountResponse* _Nullable grantRdsAccountResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGrantRdsAccountExecutor* excutor = [[JdfusionGrantRdsAccountExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:grantRdsAccountRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGrantRdsAccountResponse* response = [[JdfusionGrantRdsAccountResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createVpcNetworkInterface sync request
@param createVpcNetworkInterfaceRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createVpcNetworkInterfaceResponse` the request response data model
*/
-(NSDictionary*) createVpcNetworkInterfaceSyncWithRequest:(JdfusionCreateVpcNetworkInterfaceRequest*) createVpcNetworkInterfaceRequest
{
JdfusionCreateVpcNetworkInterfaceExecutor* excutor = [[JdfusionCreateVpcNetworkInterfaceExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createVpcNetworkInterfaceRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateVpcNetworkInterfaceResponse* response = [[JdfusionCreateVpcNetworkInterfaceResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createVpcNetworkInterfaceResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createVpcNetworkInterfaceAsyncWithRequest:(JdfusionCreateVpcNetworkInterfaceRequest*) createVpcNetworkInterfaceRequest
                       completionHandler:(void(^)(int statusCode,JdfusionCreateVpcNetworkInterfaceResponse* _Nullable createVpcNetworkInterfaceResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionCreateVpcNetworkInterfaceExecutor* excutor = [[JdfusionCreateVpcNetworkInterfaceExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createVpcNetworkInterfaceRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateVpcNetworkInterfaceResponse* response = [[JdfusionCreateVpcNetworkInterfaceResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createRdsDatabase sync request
@param createRdsDatabaseRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createRdsDatabaseResponse` the request response data model
*/
-(NSDictionary*) createRdsDatabaseSyncWithRequest:(JdfusionCreateRdsDatabaseRequest*) createRdsDatabaseRequest
{
JdfusionCreateRdsDatabaseExecutor* excutor = [[JdfusionCreateRdsDatabaseExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createRdsDatabaseRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateRdsDatabaseResponse* response = [[JdfusionCreateRdsDatabaseResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createRdsDatabaseResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createRdsDatabaseAsyncWithRequest:(JdfusionCreateRdsDatabaseRequest*) createRdsDatabaseRequest
                       completionHandler:(void(^)(int statusCode,JdfusionCreateRdsDatabaseResponse* _Nullable createRdsDatabaseResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionCreateRdsDatabaseExecutor* excutor = [[JdfusionCreateRdsDatabaseExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createRdsDatabaseRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateRdsDatabaseResponse* response = [[JdfusionCreateRdsDatabaseResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
stopSlbListener sync request
@param stopSlbListenerRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `stopSlbListenerResponse` the request response data model
*/
-(NSDictionary*) stopSlbListenerSyncWithRequest:(JdfusionStopSlbListenerRequest*) stopSlbListenerRequest
{
JdfusionStopSlbListenerExecutor* excutor = [[JdfusionStopSlbListenerExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:stopSlbListenerRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionStopSlbListenerResponse* response = [[JdfusionStopSlbListenerResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"stopSlbListenerResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)stopSlbListenerAsyncWithRequest:(JdfusionStopSlbListenerRequest*) stopSlbListenerRequest
                       completionHandler:(void(^)(int statusCode,JdfusionStopSlbListenerResponse* _Nullable stopSlbListenerResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionStopSlbListenerExecutor* excutor = [[JdfusionStopSlbListenerExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:stopSlbListenerRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionStopSlbListenerResponse* response = [[JdfusionStopSlbListenerResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getDeploymentsById sync request
@param getDeploymentsByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getDeploymentsByIdResponse` the request response data model
*/
-(NSDictionary*) getDeploymentsByIdSyncWithRequest:(JdfusionGetDeploymentsByIdRequest*) getDeploymentsByIdRequest
{
JdfusionGetDeploymentsByIdExecutor* excutor = [[JdfusionGetDeploymentsByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getDeploymentsByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetDeploymentsByIdResponse* response = [[JdfusionGetDeploymentsByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getDeploymentsByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getDeploymentsByIdAsyncWithRequest:(JdfusionGetDeploymentsByIdRequest*) getDeploymentsByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetDeploymentsByIdResponse* _Nullable getDeploymentsByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetDeploymentsByIdExecutor* excutor = [[JdfusionGetDeploymentsByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getDeploymentsByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetDeploymentsByIdResponse* response = [[JdfusionGetDeploymentsByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getDeployments sync request
@param getDeploymentsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getDeploymentsResponse` the request response data model
*/
-(NSDictionary*) getDeploymentsSyncWithRequest:(JdfusionGetDeploymentsRequest*) getDeploymentsRequest
{
JdfusionGetDeploymentsExecutor* excutor = [[JdfusionGetDeploymentsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getDeploymentsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetDeploymentsResponse* response = [[JdfusionGetDeploymentsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getDeploymentsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getDeploymentsAsyncWithRequest:(JdfusionGetDeploymentsRequest*) getDeploymentsRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetDeploymentsResponse* _Nullable getDeploymentsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetDeploymentsExecutor* excutor = [[JdfusionGetDeploymentsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getDeploymentsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetDeploymentsResponse* response = [[JdfusionGetDeploymentsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getRdsSpecification sync request
@param getRdsSpecificationRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getRdsSpecificationResponse` the request response data model
*/
-(NSDictionary*) getRdsSpecificationSyncWithRequest:(JdfusionGetRdsSpecificationRequest*) getRdsSpecificationRequest
{
JdfusionGetRdsSpecificationExecutor* excutor = [[JdfusionGetRdsSpecificationExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getRdsSpecificationRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetRdsSpecificationResponse* response = [[JdfusionGetRdsSpecificationResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getRdsSpecificationResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getRdsSpecificationAsyncWithRequest:(JdfusionGetRdsSpecificationRequest*) getRdsSpecificationRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetRdsSpecificationResponse* _Nullable getRdsSpecificationResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetRdsSpecificationExecutor* excutor = [[JdfusionGetRdsSpecificationExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getRdsSpecificationRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetRdsSpecificationResponse* response = [[JdfusionGetRdsSpecificationResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
validCloudInfo sync request
@param validCloudInfoRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `validCloudInfoResponse` the request response data model
*/
-(NSDictionary*) validCloudInfoSyncWithRequest:(JdfusionValidCloudInfoRequest*) validCloudInfoRequest
{
JdfusionValidCloudInfoExecutor* excutor = [[JdfusionValidCloudInfoExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:validCloudInfoRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionValidCloudInfoResponse* response = [[JdfusionValidCloudInfoResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"validCloudInfoResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)validCloudInfoAsyncWithRequest:(JdfusionValidCloudInfoRequest*) validCloudInfoRequest
                       completionHandler:(void(^)(int statusCode,JdfusionValidCloudInfoResponse* _Nullable validCloudInfoResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionValidCloudInfoExecutor* excutor = [[JdfusionValidCloudInfoExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:validCloudInfoRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionValidCloudInfoResponse* response = [[JdfusionValidCloudInfoResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
startChannel sync request
@param startChannelRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `startChannelResponse` the request response data model
*/
-(NSDictionary*) startChannelSyncWithRequest:(JdfusionStartChannelRequest*) startChannelRequest
{
JdfusionStartChannelExecutor* excutor = [[JdfusionStartChannelExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:startChannelRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionStartChannelResponse* response = [[JdfusionStartChannelResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"startChannelResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)startChannelAsyncWithRequest:(JdfusionStartChannelRequest*) startChannelRequest
                       completionHandler:(void(^)(int statusCode,JdfusionStartChannelResponse* _Nullable startChannelResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionStartChannelExecutor* excutor = [[JdfusionStartChannelExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:startChannelRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionStartChannelResponse* response = [[JdfusionStartChannelResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteVserverGroup sync request
@param deleteVserverGroupRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteVserverGroupResponse` the request response data model
*/
-(NSDictionary*) deleteVserverGroupSyncWithRequest:(JdfusionDeleteVserverGroupRequest*) deleteVserverGroupRequest
{
JdfusionDeleteVserverGroupExecutor* excutor = [[JdfusionDeleteVserverGroupExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteVserverGroupRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteVserverGroupResponse* response = [[JdfusionDeleteVserverGroupResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteVserverGroupResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteVserverGroupAsyncWithRequest:(JdfusionDeleteVserverGroupRequest*) deleteVserverGroupRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDeleteVserverGroupResponse* _Nullable deleteVserverGroupResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDeleteVserverGroupExecutor* excutor = [[JdfusionDeleteVserverGroupExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteVserverGroupRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteVserverGroupResponse* response = [[JdfusionDeleteVserverGroupResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createVmKeypair sync request
@param createVmKeypairRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createVmKeypairResponse` the request response data model
*/
-(NSDictionary*) createVmKeypairSyncWithRequest:(JdfusionCreateVmKeypairRequest*) createVmKeypairRequest
{
JdfusionCreateVmKeypairExecutor* excutor = [[JdfusionCreateVmKeypairExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createVmKeypairRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateVmKeypairResponse* response = [[JdfusionCreateVmKeypairResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createVmKeypairResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createVmKeypairAsyncWithRequest:(JdfusionCreateVmKeypairRequest*) createVmKeypairRequest
                       completionHandler:(void(^)(int statusCode,JdfusionCreateVmKeypairResponse* _Nullable createVmKeypairResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionCreateVmKeypairExecutor* excutor = [[JdfusionCreateVmKeypairExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createVmKeypairRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateVmKeypairResponse* response = [[JdfusionCreateVmKeypairResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createChannel sync request
@param createChannelRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createChannelResponse` the request response data model
*/
-(NSDictionary*) createChannelSyncWithRequest:(JdfusionCreateChannelRequest*) createChannelRequest
{
JdfusionCreateChannelExecutor* excutor = [[JdfusionCreateChannelExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createChannelRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateChannelResponse* response = [[JdfusionCreateChannelResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createChannelResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createChannelAsyncWithRequest:(JdfusionCreateChannelRequest*) createChannelRequest
                       completionHandler:(void(^)(int statusCode,JdfusionCreateChannelResponse* _Nullable createChannelResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionCreateChannelExecutor* excutor = [[JdfusionCreateChannelExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createChannelRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateChannelResponse* response = [[JdfusionCreateChannelResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getVmKeypairsByName sync request
@param getVmKeypairsByNameRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVmKeypairsByNameResponse` the request response data model
*/
-(NSDictionary*) getVmKeypairsByNameSyncWithRequest:(JdfusionGetVmKeypairsByNameRequest*) getVmKeypairsByNameRequest
{
JdfusionGetVmKeypairsByNameExecutor* excutor = [[JdfusionGetVmKeypairsByNameExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getVmKeypairsByNameRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVmKeypairsByNameResponse* response = [[JdfusionGetVmKeypairsByNameResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getVmKeypairsByNameResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getVmKeypairsByNameAsyncWithRequest:(JdfusionGetVmKeypairsByNameRequest*) getVmKeypairsByNameRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetVmKeypairsByNameResponse* _Nullable getVmKeypairsByNameResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetVmKeypairsByNameExecutor* excutor = [[JdfusionGetVmKeypairsByNameExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getVmKeypairsByNameRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVmKeypairsByNameResponse* response = [[JdfusionGetVmKeypairsByNameResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteVpcEipById sync request
@param deleteVpcEipByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteVpcEipByIdResponse` the request response data model
*/
-(NSDictionary*) deleteVpcEipByIdSyncWithRequest:(JdfusionDeleteVpcEipByIdRequest*) deleteVpcEipByIdRequest
{
JdfusionDeleteVpcEipByIdExecutor* excutor = [[JdfusionDeleteVpcEipByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteVpcEipByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteVpcEipByIdResponse* response = [[JdfusionDeleteVpcEipByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteVpcEipByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteVpcEipByIdAsyncWithRequest:(JdfusionDeleteVpcEipByIdRequest*) deleteVpcEipByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDeleteVpcEipByIdResponse* _Nullable deleteVpcEipByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDeleteVpcEipByIdExecutor* excutor = [[JdfusionDeleteVpcEipByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteVpcEipByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteVpcEipByIdResponse* response = [[JdfusionDeleteVpcEipByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
reverseDeployment sync request
@param reverseDeploymentRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `reverseDeploymentResponse` the request response data model
*/
-(NSDictionary*) reverseDeploymentSyncWithRequest:(JdfusionReverseDeploymentRequest*) reverseDeploymentRequest
{
JdfusionReverseDeploymentExecutor* excutor = [[JdfusionReverseDeploymentExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:reverseDeploymentRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionReverseDeploymentResponse* response = [[JdfusionReverseDeploymentResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"reverseDeploymentResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)reverseDeploymentAsyncWithRequest:(JdfusionReverseDeploymentRequest*) reverseDeploymentRequest
                       completionHandler:(void(^)(int statusCode,JdfusionReverseDeploymentResponse* _Nullable reverseDeploymentResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionReverseDeploymentExecutor* excutor = [[JdfusionReverseDeploymentExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:reverseDeploymentRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionReverseDeploymentResponse* response = [[JdfusionReverseDeploymentResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getTransferTaskById sync request
@param getTransferTaskByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getTransferTaskByIdResponse` the request response data model
*/
-(NSDictionary*) getTransferTaskByIdSyncWithRequest:(JdfusionGetTransferTaskByIdRequest*) getTransferTaskByIdRequest
{
JdfusionGetTransferTaskByIdExecutor* excutor = [[JdfusionGetTransferTaskByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getTransferTaskByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetTransferTaskByIdResponse* response = [[JdfusionGetTransferTaskByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getTransferTaskByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getTransferTaskByIdAsyncWithRequest:(JdfusionGetTransferTaskByIdRequest*) getTransferTaskByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetTransferTaskByIdResponse* _Nullable getTransferTaskByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetTransferTaskByIdExecutor* excutor = [[JdfusionGetTransferTaskByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getTransferTaskByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetTransferTaskByIdResponse* response = [[JdfusionGetTransferTaskByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getVpcSubnets sync request
@param getVpcSubnetsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcSubnetsResponse` the request response data model
*/
-(NSDictionary*) getVpcSubnetsSyncWithRequest:(JdfusionGetVpcSubnetsRequest*) getVpcSubnetsRequest
{
JdfusionGetVpcSubnetsExecutor* excutor = [[JdfusionGetVpcSubnetsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getVpcSubnetsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcSubnetsResponse* response = [[JdfusionGetVpcSubnetsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getVpcSubnetsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getVpcSubnetsAsyncWithRequest:(JdfusionGetVpcSubnetsRequest*) getVpcSubnetsRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetVpcSubnetsResponse* _Nullable getVpcSubnetsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetVpcSubnetsExecutor* excutor = [[JdfusionGetVpcSubnetsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getVpcSubnetsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcSubnetsResponse* response = [[JdfusionGetVpcSubnetsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createVpcLBHttpListener sync request
@param createVpcLBHttpListenerRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createVpcLBHttpListenerResponse` the request response data model
*/
-(NSDictionary*) createVpcLBHttpListenerSyncWithRequest:(JdfusionCreateVpcLBHttpListenerRequest*) createVpcLBHttpListenerRequest
{
JdfusionCreateVpcLBHttpListenerExecutor* excutor = [[JdfusionCreateVpcLBHttpListenerExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createVpcLBHttpListenerRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateVpcLBHttpListenerResponse* response = [[JdfusionCreateVpcLBHttpListenerResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createVpcLBHttpListenerResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createVpcLBHttpListenerAsyncWithRequest:(JdfusionCreateVpcLBHttpListenerRequest*) createVpcLBHttpListenerRequest
                       completionHandler:(void(^)(int statusCode,JdfusionCreateVpcLBHttpListenerResponse* _Nullable createVpcLBHttpListenerResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionCreateVpcLBHttpListenerExecutor* excutor = [[JdfusionCreateVpcLBHttpListenerExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createVpcLBHttpListenerRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateVpcLBHttpListenerResponse* response = [[JdfusionCreateVpcLBHttpListenerResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
stopTransferTask sync request
@param stopTransferTaskRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `stopTransferTaskResponse` the request response data model
*/
-(NSDictionary*) stopTransferTaskSyncWithRequest:(JdfusionStopTransferTaskRequest*) stopTransferTaskRequest
{
JdfusionStopTransferTaskExecutor* excutor = [[JdfusionStopTransferTaskExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:stopTransferTaskRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionStopTransferTaskResponse* response = [[JdfusionStopTransferTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"stopTransferTaskResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)stopTransferTaskAsyncWithRequest:(JdfusionStopTransferTaskRequest*) stopTransferTaskRequest
                       completionHandler:(void(^)(int statusCode,JdfusionStopTransferTaskResponse* _Nullable stopTransferTaskResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionStopTransferTaskExecutor* excutor = [[JdfusionStopTransferTaskExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:stopTransferTaskRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionStopTransferTaskResponse* response = [[JdfusionStopTransferTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getVserverGroupsById sync request
@param getVserverGroupsByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVserverGroupsByIdResponse` the request response data model
*/
-(NSDictionary*) getVserverGroupsByIdSyncWithRequest:(JdfusionGetVserverGroupsByIdRequest*) getVserverGroupsByIdRequest
{
JdfusionGetVserverGroupsByIdExecutor* excutor = [[JdfusionGetVserverGroupsByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getVserverGroupsByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVserverGroupsByIdResponse* response = [[JdfusionGetVserverGroupsByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getVserverGroupsByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getVserverGroupsByIdAsyncWithRequest:(JdfusionGetVserverGroupsByIdRequest*) getVserverGroupsByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetVserverGroupsByIdResponse* _Nullable getVserverGroupsByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetVserverGroupsByIdExecutor* excutor = [[JdfusionGetVserverGroupsByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getVserverGroupsByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVserverGroupsByIdResponse* response = [[JdfusionGetVserverGroupsByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteVpcSubnetById sync request
@param deleteVpcSubnetByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteVpcSubnetByIdResponse` the request response data model
*/
-(NSDictionary*) deleteVpcSubnetByIdSyncWithRequest:(JdfusionDeleteVpcSubnetByIdRequest*) deleteVpcSubnetByIdRequest
{
JdfusionDeleteVpcSubnetByIdExecutor* excutor = [[JdfusionDeleteVpcSubnetByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteVpcSubnetByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteVpcSubnetByIdResponse* response = [[JdfusionDeleteVpcSubnetByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteVpcSubnetByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteVpcSubnetByIdAsyncWithRequest:(JdfusionDeleteVpcSubnetByIdRequest*) deleteVpcSubnetByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDeleteVpcSubnetByIdResponse* _Nullable deleteVpcSubnetByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDeleteVpcSubnetByIdExecutor* excutor = [[JdfusionDeleteVpcSubnetByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteVpcSubnetByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteVpcSubnetByIdResponse* response = [[JdfusionDeleteVpcSubnetByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteVpcSecurityGroupById sync request
@param deleteVpcSecurityGroupByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteVpcSecurityGroupByIdResponse` the request response data model
*/
-(NSDictionary*) deleteVpcSecurityGroupByIdSyncWithRequest:(JdfusionDeleteVpcSecurityGroupByIdRequest*) deleteVpcSecurityGroupByIdRequest
{
JdfusionDeleteVpcSecurityGroupByIdExecutor* excutor = [[JdfusionDeleteVpcSecurityGroupByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteVpcSecurityGroupByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteVpcSecurityGroupByIdResponse* response = [[JdfusionDeleteVpcSecurityGroupByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteVpcSecurityGroupByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteVpcSecurityGroupByIdAsyncWithRequest:(JdfusionDeleteVpcSecurityGroupByIdRequest*) deleteVpcSecurityGroupByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDeleteVpcSecurityGroupByIdResponse* _Nullable deleteVpcSecurityGroupByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDeleteVpcSecurityGroupByIdExecutor* excutor = [[JdfusionDeleteVpcSecurityGroupByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteVpcSecurityGroupByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteVpcSecurityGroupByIdResponse* response = [[JdfusionDeleteVpcSecurityGroupByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createVpcEip sync request
@param createVpcEipRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createVpcEipResponse` the request response data model
*/
-(NSDictionary*) createVpcEipSyncWithRequest:(JdfusionCreateVpcEipRequest*) createVpcEipRequest
{
JdfusionCreateVpcEipExecutor* excutor = [[JdfusionCreateVpcEipExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createVpcEipRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateVpcEipResponse* response = [[JdfusionCreateVpcEipResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createVpcEipResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createVpcEipAsyncWithRequest:(JdfusionCreateVpcEipRequest*) createVpcEipRequest
                       completionHandler:(void(^)(int statusCode,JdfusionCreateVpcEipResponse* _Nullable createVpcEipResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionCreateVpcEipExecutor* excutor = [[JdfusionCreateVpcEipExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createVpcEipRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateVpcEipResponse* response = [[JdfusionCreateVpcEipResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteChannel sync request
@param deleteChannelRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteChannelResponse` the request response data model
*/
-(NSDictionary*) deleteChannelSyncWithRequest:(JdfusionDeleteChannelRequest*) deleteChannelRequest
{
JdfusionDeleteChannelExecutor* excutor = [[JdfusionDeleteChannelExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteChannelRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteChannelResponse* response = [[JdfusionDeleteChannelResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteChannelResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteChannelAsyncWithRequest:(JdfusionDeleteChannelRequest*) deleteChannelRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDeleteChannelResponse* _Nullable deleteChannelResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDeleteChannelExecutor* excutor = [[JdfusionDeleteChannelExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteChannelRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteChannelResponse* response = [[JdfusionDeleteChannelResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteBucket sync request
@param deleteBucketRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteBucketResponse` the request response data model
*/
-(NSDictionary*) deleteBucketSyncWithRequest:(JdfusionDeleteBucketRequest*) deleteBucketRequest
{
JdfusionDeleteBucketExecutor* excutor = [[JdfusionDeleteBucketExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteBucketRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteBucketResponse* response = [[JdfusionDeleteBucketResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteBucketResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteBucketAsyncWithRequest:(JdfusionDeleteBucketRequest*) deleteBucketRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDeleteBucketResponse* _Nullable deleteBucketResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDeleteBucketExecutor* excutor = [[JdfusionDeleteBucketExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteBucketRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteBucketResponse* response = [[JdfusionDeleteBucketResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getCloudInfos sync request
@param getCloudInfosRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getCloudInfosResponse` the request response data model
*/
-(NSDictionary*) getCloudInfosSyncWithRequest:(JdfusionGetCloudInfosRequest*) getCloudInfosRequest
{
JdfusionGetCloudInfosExecutor* excutor = [[JdfusionGetCloudInfosExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getCloudInfosRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetCloudInfosResponse* response = [[JdfusionGetCloudInfosResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getCloudInfosResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getCloudInfosAsyncWithRequest:(JdfusionGetCloudInfosRequest*) getCloudInfosRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetCloudInfosResponse* _Nullable getCloudInfosResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetCloudInfosExecutor* excutor = [[JdfusionGetCloudInfosExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getCloudInfosRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetCloudInfosResponse* response = [[JdfusionGetCloudInfosResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getVpcNetworkInterfaces sync request
@param getVpcNetworkInterfacesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcNetworkInterfacesResponse` the request response data model
*/
-(NSDictionary*) getVpcNetworkInterfacesSyncWithRequest:(JdfusionGetVpcNetworkInterfacesRequest*) getVpcNetworkInterfacesRequest
{
JdfusionGetVpcNetworkInterfacesExecutor* excutor = [[JdfusionGetVpcNetworkInterfacesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getVpcNetworkInterfacesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcNetworkInterfacesResponse* response = [[JdfusionGetVpcNetworkInterfacesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getVpcNetworkInterfacesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getVpcNetworkInterfacesAsyncWithRequest:(JdfusionGetVpcNetworkInterfacesRequest*) getVpcNetworkInterfacesRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetVpcNetworkInterfacesResponse* _Nullable getVpcNetworkInterfacesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetVpcNetworkInterfacesExecutor* excutor = [[JdfusionGetVpcNetworkInterfacesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getVpcNetworkInterfacesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcNetworkInterfacesResponse* response = [[JdfusionGetVpcNetworkInterfacesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
associateVpcEipById sync request
@param associateVpcEipByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `associateVpcEipByIdResponse` the request response data model
*/
-(NSDictionary*) associateVpcEipByIdSyncWithRequest:(JdfusionAssociateVpcEipByIdRequest*) associateVpcEipByIdRequest
{
JdfusionAssociateVpcEipByIdExecutor* excutor = [[JdfusionAssociateVpcEipByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:associateVpcEipByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionAssociateVpcEipByIdResponse* response = [[JdfusionAssociateVpcEipByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"associateVpcEipByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)associateVpcEipByIdAsyncWithRequest:(JdfusionAssociateVpcEipByIdRequest*) associateVpcEipByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionAssociateVpcEipByIdResponse* _Nullable associateVpcEipByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionAssociateVpcEipByIdExecutor* excutor = [[JdfusionAssociateVpcEipByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:associateVpcEipByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionAssociateVpcEipByIdResponse* response = [[JdfusionAssociateVpcEipByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getRdsDatabasesByInstId sync request
@param getRdsDatabasesByInstIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getRdsDatabasesByInstIdResponse` the request response data model
*/
-(NSDictionary*) getRdsDatabasesByInstIdSyncWithRequest:(JdfusionGetRdsDatabasesByInstIdRequest*) getRdsDatabasesByInstIdRequest
{
JdfusionGetRdsDatabasesByInstIdExecutor* excutor = [[JdfusionGetRdsDatabasesByInstIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getRdsDatabasesByInstIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetRdsDatabasesByInstIdResponse* response = [[JdfusionGetRdsDatabasesByInstIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getRdsDatabasesByInstIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getRdsDatabasesByInstIdAsyncWithRequest:(JdfusionGetRdsDatabasesByInstIdRequest*) getRdsDatabasesByInstIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetRdsDatabasesByInstIdResponse* _Nullable getRdsDatabasesByInstIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetRdsDatabasesByInstIdExecutor* excutor = [[JdfusionGetRdsDatabasesByInstIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getRdsDatabasesByInstIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetRdsDatabasesByInstIdResponse* response = [[JdfusionGetRdsDatabasesByInstIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getVpcEipById sync request
@param getVpcEipByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcEipByIdResponse` the request response data model
*/
-(NSDictionary*) getVpcEipByIdSyncWithRequest:(JdfusionGetVpcEipByIdRequest*) getVpcEipByIdRequest
{
JdfusionGetVpcEipByIdExecutor* excutor = [[JdfusionGetVpcEipByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getVpcEipByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcEipByIdResponse* response = [[JdfusionGetVpcEipByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getVpcEipByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getVpcEipByIdAsyncWithRequest:(JdfusionGetVpcEipByIdRequest*) getVpcEipByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetVpcEipByIdResponse* _Nullable getVpcEipByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetVpcEipByIdExecutor* excutor = [[JdfusionGetVpcEipByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getVpcEipByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcEipByIdResponse* response = [[JdfusionGetVpcEipByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getDeploymentsVersion sync request
@param getDeploymentsVersionRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getDeploymentsVersionResponse` the request response data model
*/
-(NSDictionary*) getDeploymentsVersionSyncWithRequest:(JdfusionGetDeploymentsVersionRequest*) getDeploymentsVersionRequest
{
JdfusionGetDeploymentsVersionExecutor* excutor = [[JdfusionGetDeploymentsVersionExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getDeploymentsVersionRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetDeploymentsVersionResponse* response = [[JdfusionGetDeploymentsVersionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getDeploymentsVersionResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getDeploymentsVersionAsyncWithRequest:(JdfusionGetDeploymentsVersionRequest*) getDeploymentsVersionRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetDeploymentsVersionResponse* _Nullable getDeploymentsVersionResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetDeploymentsVersionExecutor* excutor = [[JdfusionGetDeploymentsVersionExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getDeploymentsVersionRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetDeploymentsVersionResponse* response = [[JdfusionGetDeploymentsVersionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getDatasources sync request
@param getDatasourcesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getDatasourcesResponse` the request response data model
*/
-(NSDictionary*) getDatasourcesSyncWithRequest:(JdfusionGetDatasourcesRequest*) getDatasourcesRequest
{
JdfusionGetDatasourcesExecutor* excutor = [[JdfusionGetDatasourcesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getDatasourcesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetDatasourcesResponse* response = [[JdfusionGetDatasourcesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getDatasourcesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getDatasourcesAsyncWithRequest:(JdfusionGetDatasourcesRequest*) getDatasourcesRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetDatasourcesResponse* _Nullable getDatasourcesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetDatasourcesExecutor* excutor = [[JdfusionGetDatasourcesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getDatasourcesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetDatasourcesResponse* response = [[JdfusionGetDatasourcesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getChannels sync request
@param getChannelsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getChannelsResponse` the request response data model
*/
-(NSDictionary*) getChannelsSyncWithRequest:(JdfusionGetChannelsRequest*) getChannelsRequest
{
JdfusionGetChannelsExecutor* excutor = [[JdfusionGetChannelsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getChannelsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetChannelsResponse* response = [[JdfusionGetChannelsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getChannelsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getChannelsAsyncWithRequest:(JdfusionGetChannelsRequest*) getChannelsRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetChannelsResponse* _Nullable getChannelsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetChannelsExecutor* excutor = [[JdfusionGetChannelsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getChannelsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetChannelsResponse* response = [[JdfusionGetChannelsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getVpcEips sync request
@param getVpcEipsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcEipsResponse` the request response data model
*/
-(NSDictionary*) getVpcEipsSyncWithRequest:(JdfusionGetVpcEipsRequest*) getVpcEipsRequest
{
JdfusionGetVpcEipsExecutor* excutor = [[JdfusionGetVpcEipsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getVpcEipsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcEipsResponse* response = [[JdfusionGetVpcEipsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getVpcEipsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getVpcEipsAsyncWithRequest:(JdfusionGetVpcEipsRequest*) getVpcEipsRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetVpcEipsResponse* _Nullable getVpcEipsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetVpcEipsExecutor* excutor = [[JdfusionGetVpcEipsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getVpcEipsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcEipsResponse* response = [[JdfusionGetVpcEipsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteRdsDatabase sync request
@param deleteRdsDatabaseRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteRdsDatabaseResponse` the request response data model
*/
-(NSDictionary*) deleteRdsDatabaseSyncWithRequest:(JdfusionDeleteRdsDatabaseRequest*) deleteRdsDatabaseRequest
{
JdfusionDeleteRdsDatabaseExecutor* excutor = [[JdfusionDeleteRdsDatabaseExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteRdsDatabaseRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteRdsDatabaseResponse* response = [[JdfusionDeleteRdsDatabaseResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteRdsDatabaseResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteRdsDatabaseAsyncWithRequest:(JdfusionDeleteRdsDatabaseRequest*) deleteRdsDatabaseRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDeleteRdsDatabaseResponse* _Nullable deleteRdsDatabaseResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDeleteRdsDatabaseExecutor* excutor = [[JdfusionDeleteRdsDatabaseExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteRdsDatabaseRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteRdsDatabaseResponse* response = [[JdfusionDeleteRdsDatabaseResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
registCloudInfo sync request
@param registCloudInfoRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `registCloudInfoResponse` the request response data model
*/
-(NSDictionary*) registCloudInfoSyncWithRequest:(JdfusionRegistCloudInfoRequest*) registCloudInfoRequest
{
JdfusionRegistCloudInfoExecutor* excutor = [[JdfusionRegistCloudInfoExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:registCloudInfoRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionRegistCloudInfoResponse* response = [[JdfusionRegistCloudInfoResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"registCloudInfoResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)registCloudInfoAsyncWithRequest:(JdfusionRegistCloudInfoRequest*) registCloudInfoRequest
                       completionHandler:(void(^)(int statusCode,JdfusionRegistCloudInfoResponse* _Nullable registCloudInfoResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionRegistCloudInfoExecutor* excutor = [[JdfusionRegistCloudInfoExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:registCloudInfoRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionRegistCloudInfoResponse* response = [[JdfusionRegistCloudInfoResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createVpcSlb sync request
@param createVpcSlbRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createVpcSlbResponse` the request response data model
*/
-(NSDictionary*) createVpcSlbSyncWithRequest:(JdfusionCreateVpcSlbRequest*) createVpcSlbRequest
{
JdfusionCreateVpcSlbExecutor* excutor = [[JdfusionCreateVpcSlbExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createVpcSlbRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateVpcSlbResponse* response = [[JdfusionCreateVpcSlbResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createVpcSlbResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createVpcSlbAsyncWithRequest:(JdfusionCreateVpcSlbRequest*) createVpcSlbRequest
                       completionHandler:(void(^)(int statusCode,JdfusionCreateVpcSlbResponse* _Nullable createVpcSlbResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionCreateVpcSlbExecutor* excutor = [[JdfusionCreateVpcSlbExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createVpcSlbRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateVpcSlbResponse* response = [[JdfusionCreateVpcSlbResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getRdsByInstId sync request
@param getRdsByInstIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getRdsByInstIdResponse` the request response data model
*/
-(NSDictionary*) getRdsByInstIdSyncWithRequest:(JdfusionGetRdsByInstIdRequest*) getRdsByInstIdRequest
{
JdfusionGetRdsByInstIdExecutor* excutor = [[JdfusionGetRdsByInstIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getRdsByInstIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetRdsByInstIdResponse* response = [[JdfusionGetRdsByInstIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getRdsByInstIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getRdsByInstIdAsyncWithRequest:(JdfusionGetRdsByInstIdRequest*) getRdsByInstIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetRdsByInstIdResponse* _Nullable getRdsByInstIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetRdsByInstIdExecutor* excutor = [[JdfusionGetRdsByInstIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getRdsByInstIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetRdsByInstIdResponse* response = [[JdfusionGetRdsByInstIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
unregistCloudInfo sync request
@param unregistCloudInfoRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `unregistCloudInfoResponse` the request response data model
*/
-(NSDictionary*) unregistCloudInfoSyncWithRequest:(JdfusionUnregistCloudInfoRequest*) unregistCloudInfoRequest
{
JdfusionUnregistCloudInfoExecutor* excutor = [[JdfusionUnregistCloudInfoExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:unregistCloudInfoRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionUnregistCloudInfoResponse* response = [[JdfusionUnregistCloudInfoResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"unregistCloudInfoResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)unregistCloudInfoAsyncWithRequest:(JdfusionUnregistCloudInfoRequest*) unregistCloudInfoRequest
                       completionHandler:(void(^)(int statusCode,JdfusionUnregistCloudInfoResponse* _Nullable unregistCloudInfoResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionUnregistCloudInfoExecutor* excutor = [[JdfusionUnregistCloudInfoExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:unregistCloudInfoRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionUnregistCloudInfoResponse* response = [[JdfusionUnregistCloudInfoResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
attachDiskToVmInstanceByDiskId sync request
@param attachDiskToVmInstanceByDiskIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `attachDiskToVmInstanceByDiskIdResponse` the request response data model
*/
-(NSDictionary*) attachDiskToVmInstanceByDiskIdSyncWithRequest:(JdfusionAttachDiskToVmInstanceByDiskIdRequest*) attachDiskToVmInstanceByDiskIdRequest
{
JdfusionAttachDiskToVmInstanceByDiskIdExecutor* excutor = [[JdfusionAttachDiskToVmInstanceByDiskIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:attachDiskToVmInstanceByDiskIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionAttachDiskToVmInstanceByDiskIdResponse* response = [[JdfusionAttachDiskToVmInstanceByDiskIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"attachDiskToVmInstanceByDiskIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)attachDiskToVmInstanceByDiskIdAsyncWithRequest:(JdfusionAttachDiskToVmInstanceByDiskIdRequest*) attachDiskToVmInstanceByDiskIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionAttachDiskToVmInstanceByDiskIdResponse* _Nullable attachDiskToVmInstanceByDiskIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionAttachDiskToVmInstanceByDiskIdExecutor* excutor = [[JdfusionAttachDiskToVmInstanceByDiskIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:attachDiskToVmInstanceByDiskIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionAttachDiskToVmInstanceByDiskIdResponse* response = [[JdfusionAttachDiskToVmInstanceByDiskIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
attachVpcNetworkInterfaceById sync request
@param attachVpcNetworkInterfaceByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `attachVpcNetworkInterfaceByIdResponse` the request response data model
*/
-(NSDictionary*) attachVpcNetworkInterfaceByIdSyncWithRequest:(JdfusionAttachVpcNetworkInterfaceByIdRequest*) attachVpcNetworkInterfaceByIdRequest
{
JdfusionAttachVpcNetworkInterfaceByIdExecutor* excutor = [[JdfusionAttachVpcNetworkInterfaceByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:attachVpcNetworkInterfaceByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionAttachVpcNetworkInterfaceByIdResponse* response = [[JdfusionAttachVpcNetworkInterfaceByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"attachVpcNetworkInterfaceByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)attachVpcNetworkInterfaceByIdAsyncWithRequest:(JdfusionAttachVpcNetworkInterfaceByIdRequest*) attachVpcNetworkInterfaceByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionAttachVpcNetworkInterfaceByIdResponse* _Nullable attachVpcNetworkInterfaceByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionAttachVpcNetworkInterfaceByIdExecutor* excutor = [[JdfusionAttachVpcNetworkInterfaceByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:attachVpcNetworkInterfaceByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionAttachVpcNetworkInterfaceByIdResponse* response = [[JdfusionAttachVpcNetworkInterfaceByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getLbHttpListener sync request
@param getLbHttpListenerRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getLbHttpListenerResponse` the request response data model
*/
-(NSDictionary*) getLbHttpListenerSyncWithRequest:(JdfusionGetLbHttpListenerRequest*) getLbHttpListenerRequest
{
JdfusionGetLbHttpListenerExecutor* excutor = [[JdfusionGetLbHttpListenerExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getLbHttpListenerRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetLbHttpListenerResponse* response = [[JdfusionGetLbHttpListenerResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getLbHttpListenerResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getLbHttpListenerAsyncWithRequest:(JdfusionGetLbHttpListenerRequest*) getLbHttpListenerRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetLbHttpListenerResponse* _Nullable getLbHttpListenerResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetLbHttpListenerExecutor* excutor = [[JdfusionGetLbHttpListenerExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getLbHttpListenerRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetLbHttpListenerResponse* response = [[JdfusionGetLbHttpListenerResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
dryrunDeployment sync request
@param dryrunDeploymentRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `dryrunDeploymentResponse` the request response data model
*/
-(NSDictionary*) dryrunDeploymentSyncWithRequest:(JdfusionDryrunDeploymentRequest*) dryrunDeploymentRequest
{
JdfusionDryrunDeploymentExecutor* excutor = [[JdfusionDryrunDeploymentExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:dryrunDeploymentRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDryrunDeploymentResponse* response = [[JdfusionDryrunDeploymentResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"dryrunDeploymentResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)dryrunDeploymentAsyncWithRequest:(JdfusionDryrunDeploymentRequest*) dryrunDeploymentRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDryrunDeploymentResponse* _Nullable dryrunDeploymentResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDryrunDeploymentExecutor* excutor = [[JdfusionDryrunDeploymentExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:dryrunDeploymentRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDryrunDeploymentResponse* response = [[JdfusionDryrunDeploymentResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createDatasource sync request
@param createDatasourceRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createDatasourceResponse` the request response data model
*/
-(NSDictionary*) createDatasourceSyncWithRequest:(JdfusionCreateDatasourceRequest*) createDatasourceRequest
{
JdfusionCreateDatasourceExecutor* excutor = [[JdfusionCreateDatasourceExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createDatasourceRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateDatasourceResponse* response = [[JdfusionCreateDatasourceResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createDatasourceResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createDatasourceAsyncWithRequest:(JdfusionCreateDatasourceRequest*) createDatasourceRequest
                       completionHandler:(void(^)(int statusCode,JdfusionCreateDatasourceResponse* _Nullable createDatasourceResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionCreateDatasourceExecutor* excutor = [[JdfusionCreateDatasourceExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createDatasourceRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateDatasourceResponse* response = [[JdfusionCreateDatasourceResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getRegionsAvailableZones sync request
@param getRegionsAvailableZonesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getRegionsAvailableZonesResponse` the request response data model
*/
-(NSDictionary*) getRegionsAvailableZonesSyncWithRequest:(JdfusionGetRegionsAvailableZonesRequest*) getRegionsAvailableZonesRequest
{
JdfusionGetRegionsAvailableZonesExecutor* excutor = [[JdfusionGetRegionsAvailableZonesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getRegionsAvailableZonesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetRegionsAvailableZonesResponse* response = [[JdfusionGetRegionsAvailableZonesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getRegionsAvailableZonesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getRegionsAvailableZonesAsyncWithRequest:(JdfusionGetRegionsAvailableZonesRequest*) getRegionsAvailableZonesRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetRegionsAvailableZonesResponse* _Nullable getRegionsAvailableZonesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetRegionsAvailableZonesExecutor* excutor = [[JdfusionGetRegionsAvailableZonesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getRegionsAvailableZonesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetRegionsAvailableZonesResponse* response = [[JdfusionGetRegionsAvailableZonesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
detachDiskToVmInstanceByDiskId sync request
@param detachDiskToVmInstanceByDiskIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `detachDiskToVmInstanceByDiskIdResponse` the request response data model
*/
-(NSDictionary*) detachDiskToVmInstanceByDiskIdSyncWithRequest:(JdfusionDetachDiskToVmInstanceByDiskIdRequest*) detachDiskToVmInstanceByDiskIdRequest
{
JdfusionDetachDiskToVmInstanceByDiskIdExecutor* excutor = [[JdfusionDetachDiskToVmInstanceByDiskIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:detachDiskToVmInstanceByDiskIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDetachDiskToVmInstanceByDiskIdResponse* response = [[JdfusionDetachDiskToVmInstanceByDiskIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"detachDiskToVmInstanceByDiskIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)detachDiskToVmInstanceByDiskIdAsyncWithRequest:(JdfusionDetachDiskToVmInstanceByDiskIdRequest*) detachDiskToVmInstanceByDiskIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDetachDiskToVmInstanceByDiskIdResponse* _Nullable detachDiskToVmInstanceByDiskIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDetachDiskToVmInstanceByDiskIdExecutor* excutor = [[JdfusionDetachDiskToVmInstanceByDiskIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:detachDiskToVmInstanceByDiskIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDetachDiskToVmInstanceByDiskIdResponse* response = [[JdfusionDetachDiskToVmInstanceByDiskIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
startSlbListener sync request
@param startSlbListenerRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `startSlbListenerResponse` the request response data model
*/
-(NSDictionary*) startSlbListenerSyncWithRequest:(JdfusionStartSlbListenerRequest*) startSlbListenerRequest
{
JdfusionStartSlbListenerExecutor* excutor = [[JdfusionStartSlbListenerExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:startSlbListenerRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionStartSlbListenerResponse* response = [[JdfusionStartSlbListenerResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"startSlbListenerResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)startSlbListenerAsyncWithRequest:(JdfusionStartSlbListenerRequest*) startSlbListenerRequest
                       completionHandler:(void(^)(int statusCode,JdfusionStartSlbListenerResponse* _Nullable startSlbListenerResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionStartSlbListenerExecutor* excutor = [[JdfusionStartSlbListenerExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:startSlbListenerRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionStartSlbListenerResponse* response = [[JdfusionStartSlbListenerResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getTransferTasks sync request
@param getTransferTasksRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getTransferTasksResponse` the request response data model
*/
-(NSDictionary*) getTransferTasksSyncWithRequest:(JdfusionGetTransferTasksRequest*) getTransferTasksRequest
{
JdfusionGetTransferTasksExecutor* excutor = [[JdfusionGetTransferTasksExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getTransferTasksRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetTransferTasksResponse* response = [[JdfusionGetTransferTasksResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getTransferTasksResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getTransferTasksAsyncWithRequest:(JdfusionGetTransferTasksRequest*) getTransferTasksRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetTransferTasksResponse* _Nullable getTransferTasksResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetTransferTasksExecutor* excutor = [[JdfusionGetTransferTasksExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getTransferTasksRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetTransferTasksResponse* response = [[JdfusionGetTransferTasksResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createRdsInstance sync request
@param createRdsInstanceRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createRdsInstanceResponse` the request response data model
*/
-(NSDictionary*) createRdsInstanceSyncWithRequest:(JdfusionCreateRdsInstanceRequest*) createRdsInstanceRequest
{
JdfusionCreateRdsInstanceExecutor* excutor = [[JdfusionCreateRdsInstanceExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createRdsInstanceRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateRdsInstanceResponse* response = [[JdfusionCreateRdsInstanceResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createRdsInstanceResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createRdsInstanceAsyncWithRequest:(JdfusionCreateRdsInstanceRequest*) createRdsInstanceRequest
                       completionHandler:(void(^)(int statusCode,JdfusionCreateRdsInstanceResponse* _Nullable createRdsInstanceResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionCreateRdsInstanceExecutor* excutor = [[JdfusionCreateRdsInstanceExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createRdsInstanceRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateRdsInstanceResponse* response = [[JdfusionCreateRdsInstanceResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
removeDiskById sync request
@param removeDiskByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `removeDiskByIdResponse` the request response data model
*/
-(NSDictionary*) removeDiskByIdSyncWithRequest:(JdfusionRemoveDiskByIdRequest*) removeDiskByIdRequest
{
JdfusionRemoveDiskByIdExecutor* excutor = [[JdfusionRemoveDiskByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:removeDiskByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionRemoveDiskByIdResponse* response = [[JdfusionRemoveDiskByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"removeDiskByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)removeDiskByIdAsyncWithRequest:(JdfusionRemoveDiskByIdRequest*) removeDiskByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionRemoveDiskByIdResponse* _Nullable removeDiskByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionRemoveDiskByIdExecutor* excutor = [[JdfusionRemoveDiskByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:removeDiskByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionRemoveDiskByIdResponse* response = [[JdfusionRemoveDiskByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getVpcSecurityGroupById sync request
@param getVpcSecurityGroupByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcSecurityGroupByIdResponse` the request response data model
*/
-(NSDictionary*) getVpcSecurityGroupByIdSyncWithRequest:(JdfusionGetVpcSecurityGroupByIdRequest*) getVpcSecurityGroupByIdRequest
{
JdfusionGetVpcSecurityGroupByIdExecutor* excutor = [[JdfusionGetVpcSecurityGroupByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getVpcSecurityGroupByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcSecurityGroupByIdResponse* response = [[JdfusionGetVpcSecurityGroupByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getVpcSecurityGroupByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getVpcSecurityGroupByIdAsyncWithRequest:(JdfusionGetVpcSecurityGroupByIdRequest*) getVpcSecurityGroupByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetVpcSecurityGroupByIdResponse* _Nullable getVpcSecurityGroupByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetVpcSecurityGroupByIdExecutor* excutor = [[JdfusionGetVpcSecurityGroupByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getVpcSecurityGroupByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcSecurityGroupByIdResponse* response = [[JdfusionGetVpcSecurityGroupByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getRdsInstances sync request
@param getRdsInstancesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getRdsInstancesResponse` the request response data model
*/
-(NSDictionary*) getRdsInstancesSyncWithRequest:(JdfusionGetRdsInstancesRequest*) getRdsInstancesRequest
{
JdfusionGetRdsInstancesExecutor* excutor = [[JdfusionGetRdsInstancesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getRdsInstancesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetRdsInstancesResponse* response = [[JdfusionGetRdsInstancesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getRdsInstancesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getRdsInstancesAsyncWithRequest:(JdfusionGetRdsInstancesRequest*) getRdsInstancesRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetRdsInstancesResponse* _Nullable getRdsInstancesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetRdsInstancesExecutor* excutor = [[JdfusionGetRdsInstancesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getRdsInstancesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetRdsInstancesResponse* response = [[JdfusionGetRdsInstancesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getBucketFiles sync request
@param getBucketFilesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getBucketFilesResponse` the request response data model
*/
-(NSDictionary*) getBucketFilesSyncWithRequest:(JdfusionGetBucketFilesRequest*) getBucketFilesRequest
{
JdfusionGetBucketFilesExecutor* excutor = [[JdfusionGetBucketFilesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getBucketFilesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetBucketFilesResponse* response = [[JdfusionGetBucketFilesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getBucketFilesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getBucketFilesAsyncWithRequest:(JdfusionGetBucketFilesRequest*) getBucketFilesRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetBucketFilesResponse* _Nullable getBucketFilesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetBucketFilesExecutor* excutor = [[JdfusionGetBucketFilesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getBucketFilesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetBucketFilesResponse* response = [[JdfusionGetBucketFilesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteVpcNetworkInterfaceById sync request
@param deleteVpcNetworkInterfaceByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteVpcNetworkInterfaceByIdResponse` the request response data model
*/
-(NSDictionary*) deleteVpcNetworkInterfaceByIdSyncWithRequest:(JdfusionDeleteVpcNetworkInterfaceByIdRequest*) deleteVpcNetworkInterfaceByIdRequest
{
JdfusionDeleteVpcNetworkInterfaceByIdExecutor* excutor = [[JdfusionDeleteVpcNetworkInterfaceByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteVpcNetworkInterfaceByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteVpcNetworkInterfaceByIdResponse* response = [[JdfusionDeleteVpcNetworkInterfaceByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteVpcNetworkInterfaceByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteVpcNetworkInterfaceByIdAsyncWithRequest:(JdfusionDeleteVpcNetworkInterfaceByIdRequest*) deleteVpcNetworkInterfaceByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDeleteVpcNetworkInterfaceByIdResponse* _Nullable deleteVpcNetworkInterfaceByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDeleteVpcNetworkInterfaceByIdExecutor* excutor = [[JdfusionDeleteVpcNetworkInterfaceByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteVpcNetworkInterfaceByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteVpcNetworkInterfaceByIdResponse* response = [[JdfusionDeleteVpcNetworkInterfaceByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getRdsAccountsByInstId sync request
@param getRdsAccountsByInstIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getRdsAccountsByInstIdResponse` the request response data model
*/
-(NSDictionary*) getRdsAccountsByInstIdSyncWithRequest:(JdfusionGetRdsAccountsByInstIdRequest*) getRdsAccountsByInstIdRequest
{
JdfusionGetRdsAccountsByInstIdExecutor* excutor = [[JdfusionGetRdsAccountsByInstIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getRdsAccountsByInstIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetRdsAccountsByInstIdResponse* response = [[JdfusionGetRdsAccountsByInstIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getRdsAccountsByInstIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getRdsAccountsByInstIdAsyncWithRequest:(JdfusionGetRdsAccountsByInstIdRequest*) getRdsAccountsByInstIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetRdsAccountsByInstIdResponse* _Nullable getRdsAccountsByInstIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetRdsAccountsByInstIdExecutor* excutor = [[JdfusionGetRdsAccountsByInstIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getRdsAccountsByInstIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetRdsAccountsByInstIdResponse* response = [[JdfusionGetRdsAccountsByInstIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getVpcSecurityGroups sync request
@param getVpcSecurityGroupsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcSecurityGroupsResponse` the request response data model
*/
-(NSDictionary*) getVpcSecurityGroupsSyncWithRequest:(JdfusionGetVpcSecurityGroupsRequest*) getVpcSecurityGroupsRequest
{
JdfusionGetVpcSecurityGroupsExecutor* excutor = [[JdfusionGetVpcSecurityGroupsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getVpcSecurityGroupsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcSecurityGroupsResponse* response = [[JdfusionGetVpcSecurityGroupsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getVpcSecurityGroupsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getVpcSecurityGroupsAsyncWithRequest:(JdfusionGetVpcSecurityGroupsRequest*) getVpcSecurityGroupsRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetVpcSecurityGroupsResponse* _Nullable getVpcSecurityGroupsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetVpcSecurityGroupsExecutor* excutor = [[JdfusionGetVpcSecurityGroupsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getVpcSecurityGroupsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcSecurityGroupsResponse* response = [[JdfusionGetVpcSecurityGroupsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createSecurityGroupsRule sync request
@param createSecurityGroupsRuleRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createSecurityGroupsRuleResponse` the request response data model
*/
-(NSDictionary*) createSecurityGroupsRuleSyncWithRequest:(JdfusionCreateSecurityGroupsRuleRequest*) createSecurityGroupsRuleRequest
{
JdfusionCreateSecurityGroupsRuleExecutor* excutor = [[JdfusionCreateSecurityGroupsRuleExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createSecurityGroupsRuleRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateSecurityGroupsRuleResponse* response = [[JdfusionCreateSecurityGroupsRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createSecurityGroupsRuleResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createSecurityGroupsRuleAsyncWithRequest:(JdfusionCreateSecurityGroupsRuleRequest*) createSecurityGroupsRuleRequest
                       completionHandler:(void(^)(int statusCode,JdfusionCreateSecurityGroupsRuleResponse* _Nullable createSecurityGroupsRuleResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionCreateSecurityGroupsRuleExecutor* excutor = [[JdfusionCreateSecurityGroupsRuleExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createSecurityGroupsRuleRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateSecurityGroupsRuleResponse* response = [[JdfusionCreateSecurityGroupsRuleResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
applyDeployment sync request
@param applyDeploymentRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `applyDeploymentResponse` the request response data model
*/
-(NSDictionary*) applyDeploymentSyncWithRequest:(JdfusionApplyDeploymentRequest*) applyDeploymentRequest
{
JdfusionApplyDeploymentExecutor* excutor = [[JdfusionApplyDeploymentExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:applyDeploymentRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionApplyDeploymentResponse* response = [[JdfusionApplyDeploymentResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"applyDeploymentResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)applyDeploymentAsyncWithRequest:(JdfusionApplyDeploymentRequest*) applyDeploymentRequest
                       completionHandler:(void(^)(int statusCode,JdfusionApplyDeploymentResponse* _Nullable applyDeploymentResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionApplyDeploymentExecutor* excutor = [[JdfusionApplyDeploymentExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:applyDeploymentRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionApplyDeploymentResponse* response = [[JdfusionApplyDeploymentResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getVmKeypairs sync request
@param getVmKeypairsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVmKeypairsResponse` the request response data model
*/
-(NSDictionary*) getVmKeypairsSyncWithRequest:(JdfusionGetVmKeypairsRequest*) getVmKeypairsRequest
{
JdfusionGetVmKeypairsExecutor* excutor = [[JdfusionGetVmKeypairsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getVmKeypairsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVmKeypairsResponse* response = [[JdfusionGetVmKeypairsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getVmKeypairsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getVmKeypairsAsyncWithRequest:(JdfusionGetVmKeypairsRequest*) getVmKeypairsRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetVmKeypairsResponse* _Nullable getVmKeypairsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetVmKeypairsExecutor* excutor = [[JdfusionGetVmKeypairsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getVmKeypairsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVmKeypairsResponse* response = [[JdfusionGetVmKeypairsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getVpcSlbById sync request
@param getVpcSlbByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcSlbByIdResponse` the request response data model
*/
-(NSDictionary*) getVpcSlbByIdSyncWithRequest:(JdfusionGetVpcSlbByIdRequest*) getVpcSlbByIdRequest
{
JdfusionGetVpcSlbByIdExecutor* excutor = [[JdfusionGetVpcSlbByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getVpcSlbByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcSlbByIdResponse* response = [[JdfusionGetVpcSlbByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getVpcSlbByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getVpcSlbByIdAsyncWithRequest:(JdfusionGetVpcSlbByIdRequest*) getVpcSlbByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetVpcSlbByIdResponse* _Nullable getVpcSlbByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetVpcSlbByIdExecutor* excutor = [[JdfusionGetVpcSlbByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getVpcSlbByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcSlbByIdResponse* response = [[JdfusionGetVpcSlbByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteDeployment sync request
@param deleteDeploymentRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteDeploymentResponse` the request response data model
*/
-(NSDictionary*) deleteDeploymentSyncWithRequest:(JdfusionDeleteDeploymentRequest*) deleteDeploymentRequest
{
JdfusionDeleteDeploymentExecutor* excutor = [[JdfusionDeleteDeploymentExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteDeploymentRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteDeploymentResponse* response = [[JdfusionDeleteDeploymentResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteDeploymentResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteDeploymentAsyncWithRequest:(JdfusionDeleteDeploymentRequest*) deleteDeploymentRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDeleteDeploymentResponse* _Nullable deleteDeploymentResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDeleteDeploymentExecutor* excutor = [[JdfusionDeleteDeploymentExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteDeploymentRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteDeploymentResponse* response = [[JdfusionDeleteDeploymentResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createVpcSubnet sync request
@param createVpcSubnetRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createVpcSubnetResponse` the request response data model
*/
-(NSDictionary*) createVpcSubnetSyncWithRequest:(JdfusionCreateVpcSubnetRequest*) createVpcSubnetRequest
{
JdfusionCreateVpcSubnetExecutor* excutor = [[JdfusionCreateVpcSubnetExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createVpcSubnetRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateVpcSubnetResponse* response = [[JdfusionCreateVpcSubnetResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createVpcSubnetResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createVpcSubnetAsyncWithRequest:(JdfusionCreateVpcSubnetRequest*) createVpcSubnetRequest
                       completionHandler:(void(^)(int statusCode,JdfusionCreateVpcSubnetResponse* _Nullable createVpcSubnetResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionCreateVpcSubnetExecutor* excutor = [[JdfusionCreateVpcSubnetExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createVpcSubnetRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateVpcSubnetResponse* response = [[JdfusionCreateVpcSubnetResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteRdsByInstId sync request
@param deleteRdsByInstIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteRdsByInstIdResponse` the request response data model
*/
-(NSDictionary*) deleteRdsByInstIdSyncWithRequest:(JdfusionDeleteRdsByInstIdRequest*) deleteRdsByInstIdRequest
{
JdfusionDeleteRdsByInstIdExecutor* excutor = [[JdfusionDeleteRdsByInstIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteRdsByInstIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteRdsByInstIdResponse* response = [[JdfusionDeleteRdsByInstIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteRdsByInstIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteRdsByInstIdAsyncWithRequest:(JdfusionDeleteRdsByInstIdRequest*) deleteRdsByInstIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDeleteRdsByInstIdResponse* _Nullable deleteRdsByInstIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDeleteRdsByInstIdExecutor* excutor = [[JdfusionDeleteRdsByInstIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteRdsByInstIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteRdsByInstIdResponse* response = [[JdfusionDeleteRdsByInstIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createTransferTask sync request
@param createTransferTaskRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createTransferTaskResponse` the request response data model
*/
-(NSDictionary*) createTransferTaskSyncWithRequest:(JdfusionCreateTransferTaskRequest*) createTransferTaskRequest
{
JdfusionCreateTransferTaskExecutor* excutor = [[JdfusionCreateTransferTaskExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createTransferTaskRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateTransferTaskResponse* response = [[JdfusionCreateTransferTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createTransferTaskResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createTransferTaskAsyncWithRequest:(JdfusionCreateTransferTaskRequest*) createTransferTaskRequest
                       completionHandler:(void(^)(int statusCode,JdfusionCreateTransferTaskResponse* _Nullable createTransferTaskResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionCreateTransferTaskExecutor* excutor = [[JdfusionCreateTransferTaskExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createTransferTaskRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateTransferTaskResponse* response = [[JdfusionCreateTransferTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getVpcSlbs sync request
@param getVpcSlbsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcSlbsResponse` the request response data model
*/
-(NSDictionary*) getVpcSlbsSyncWithRequest:(JdfusionGetVpcSlbsRequest*) getVpcSlbsRequest
{
JdfusionGetVpcSlbsExecutor* excutor = [[JdfusionGetVpcSlbsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getVpcSlbsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcSlbsResponse* response = [[JdfusionGetVpcSlbsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getVpcSlbsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getVpcSlbsAsyncWithRequest:(JdfusionGetVpcSlbsRequest*) getVpcSlbsRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetVpcSlbsResponse* _Nullable getVpcSlbsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetVpcSlbsExecutor* excutor = [[JdfusionGetVpcSlbsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getVpcSlbsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcSlbsResponse* response = [[JdfusionGetVpcSlbsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
cloneDeployment sync request
@param cloneDeploymentRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `cloneDeploymentResponse` the request response data model
*/
-(NSDictionary*) cloneDeploymentSyncWithRequest:(JdfusionCloneDeploymentRequest*) cloneDeploymentRequest
{
JdfusionCloneDeploymentExecutor* excutor = [[JdfusionCloneDeploymentExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:cloneDeploymentRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCloneDeploymentResponse* response = [[JdfusionCloneDeploymentResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"cloneDeploymentResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)cloneDeploymentAsyncWithRequest:(JdfusionCloneDeploymentRequest*) cloneDeploymentRequest
                       completionHandler:(void(^)(int statusCode,JdfusionCloneDeploymentResponse* _Nullable cloneDeploymentResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionCloneDeploymentExecutor* excutor = [[JdfusionCloneDeploymentExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:cloneDeploymentRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCloneDeploymentResponse* response = [[JdfusionCloneDeploymentResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteVpcById sync request
@param deleteVpcByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteVpcByIdResponse` the request response data model
*/
-(NSDictionary*) deleteVpcByIdSyncWithRequest:(JdfusionDeleteVpcByIdRequest*) deleteVpcByIdRequest
{
JdfusionDeleteVpcByIdExecutor* excutor = [[JdfusionDeleteVpcByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteVpcByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteVpcByIdResponse* response = [[JdfusionDeleteVpcByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteVpcByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteVpcByIdAsyncWithRequest:(JdfusionDeleteVpcByIdRequest*) deleteVpcByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDeleteVpcByIdResponse* _Nullable deleteVpcByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDeleteVpcByIdExecutor* excutor = [[JdfusionDeleteVpcByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteVpcByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteVpcByIdResponse* response = [[JdfusionDeleteVpcByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createVpc sync request
@param createVpcRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createVpcResponse` the request response data model
*/
-(NSDictionary*) createVpcSyncWithRequest:(JdfusionCreateVpcRequest*) createVpcRequest
{
JdfusionCreateVpcExecutor* excutor = [[JdfusionCreateVpcExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createVpcRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateVpcResponse* response = [[JdfusionCreateVpcResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createVpcResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createVpcAsyncWithRequest:(JdfusionCreateVpcRequest*) createVpcRequest
                       completionHandler:(void(^)(int statusCode,JdfusionCreateVpcResponse* _Nullable createVpcResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionCreateVpcExecutor* excutor = [[JdfusionCreateVpcExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createVpcRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateVpcResponse* response = [[JdfusionCreateVpcResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
disassociateVpcEipById sync request
@param disassociateVpcEipByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `disassociateVpcEipByIdResponse` the request response data model
*/
-(NSDictionary*) disassociateVpcEipByIdSyncWithRequest:(JdfusionDisassociateVpcEipByIdRequest*) disassociateVpcEipByIdRequest
{
JdfusionDisassociateVpcEipByIdExecutor* excutor = [[JdfusionDisassociateVpcEipByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:disassociateVpcEipByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDisassociateVpcEipByIdResponse* response = [[JdfusionDisassociateVpcEipByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"disassociateVpcEipByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)disassociateVpcEipByIdAsyncWithRequest:(JdfusionDisassociateVpcEipByIdRequest*) disassociateVpcEipByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDisassociateVpcEipByIdResponse* _Nullable disassociateVpcEipByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDisassociateVpcEipByIdExecutor* excutor = [[JdfusionDisassociateVpcEipByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:disassociateVpcEipByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDisassociateVpcEipByIdResponse* response = [[JdfusionDisassociateVpcEipByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getVpcSubnetById sync request
@param getVpcSubnetByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcSubnetByIdResponse` the request response data model
*/
-(NSDictionary*) getVpcSubnetByIdSyncWithRequest:(JdfusionGetVpcSubnetByIdRequest*) getVpcSubnetByIdRequest
{
JdfusionGetVpcSubnetByIdExecutor* excutor = [[JdfusionGetVpcSubnetByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getVpcSubnetByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcSubnetByIdResponse* response = [[JdfusionGetVpcSubnetByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getVpcSubnetByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getVpcSubnetByIdAsyncWithRequest:(JdfusionGetVpcSubnetByIdRequest*) getVpcSubnetByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetVpcSubnetByIdResponse* _Nullable getVpcSubnetByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetVpcSubnetByIdExecutor* excutor = [[JdfusionGetVpcSubnetByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getVpcSubnetByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcSubnetByIdResponse* response = [[JdfusionGetVpcSubnetByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createVpcSecurityGroup sync request
@param createVpcSecurityGroupRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createVpcSecurityGroupResponse` the request response data model
*/
-(NSDictionary*) createVpcSecurityGroupSyncWithRequest:(JdfusionCreateVpcSecurityGroupRequest*) createVpcSecurityGroupRequest
{
JdfusionCreateVpcSecurityGroupExecutor* excutor = [[JdfusionCreateVpcSecurityGroupExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createVpcSecurityGroupRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateVpcSecurityGroupResponse* response = [[JdfusionCreateVpcSecurityGroupResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createVpcSecurityGroupResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createVpcSecurityGroupAsyncWithRequest:(JdfusionCreateVpcSecurityGroupRequest*) createVpcSecurityGroupRequest
                       completionHandler:(void(^)(int statusCode,JdfusionCreateVpcSecurityGroupResponse* _Nullable createVpcSecurityGroupResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionCreateVpcSecurityGroupExecutor* excutor = [[JdfusionCreateVpcSecurityGroupExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createVpcSecurityGroupRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateVpcSecurityGroupResponse* response = [[JdfusionCreateVpcSecurityGroupResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getVpcs sync request
@param getVpcsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcsResponse` the request response data model
*/
-(NSDictionary*) getVpcsSyncWithRequest:(JdfusionGetVpcsRequest*) getVpcsRequest
{
JdfusionGetVpcsExecutor* excutor = [[JdfusionGetVpcsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getVpcsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcsResponse* response = [[JdfusionGetVpcsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getVpcsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getVpcsAsyncWithRequest:(JdfusionGetVpcsRequest*) getVpcsRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetVpcsResponse* _Nullable getVpcsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetVpcsExecutor* excutor = [[JdfusionGetVpcsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getVpcsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcsResponse* response = [[JdfusionGetVpcsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
stopChannel sync request
@param stopChannelRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `stopChannelResponse` the request response data model
*/
-(NSDictionary*) stopChannelSyncWithRequest:(JdfusionStopChannelRequest*) stopChannelRequest
{
JdfusionStopChannelExecutor* excutor = [[JdfusionStopChannelExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:stopChannelRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionStopChannelResponse* response = [[JdfusionStopChannelResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"stopChannelResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)stopChannelAsyncWithRequest:(JdfusionStopChannelRequest*) stopChannelRequest
                       completionHandler:(void(^)(int statusCode,JdfusionStopChannelResponse* _Nullable stopChannelResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionStopChannelExecutor* excutor = [[JdfusionStopChannelExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:stopChannelRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionStopChannelResponse* response = [[JdfusionStopChannelResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
startSlb sync request
@param startSlbRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `startSlbResponse` the request response data model
*/
-(NSDictionary*) startSlbSyncWithRequest:(JdfusionStartSlbRequest*) startSlbRequest
{
JdfusionStartSlbExecutor* excutor = [[JdfusionStartSlbExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:startSlbRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionStartSlbResponse* response = [[JdfusionStartSlbResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"startSlbResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)startSlbAsyncWithRequest:(JdfusionStartSlbRequest*) startSlbRequest
                       completionHandler:(void(^)(int statusCode,JdfusionStartSlbResponse* _Nullable startSlbResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionStartSlbExecutor* excutor = [[JdfusionStartSlbExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:startSlbRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionStartSlbResponse* response = [[JdfusionStartSlbResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getVmInstancesById sync request
@param getVmInstancesByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVmInstancesByIdResponse` the request response data model
*/
-(NSDictionary*) getVmInstancesByIdSyncWithRequest:(JdfusionGetVmInstancesByIdRequest*) getVmInstancesByIdRequest
{
JdfusionGetVmInstancesByIdExecutor* excutor = [[JdfusionGetVmInstancesByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getVmInstancesByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVmInstancesByIdResponse* response = [[JdfusionGetVmInstancesByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getVmInstancesByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getVmInstancesByIdAsyncWithRequest:(JdfusionGetVmInstancesByIdRequest*) getVmInstancesByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetVmInstancesByIdResponse* _Nullable getVmInstancesByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetVmInstancesByIdExecutor* excutor = [[JdfusionGetVmInstancesByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getVmInstancesByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVmInstancesByIdResponse* response = [[JdfusionGetVmInstancesByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getRegions sync request
@param getRegionsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getRegionsResponse` the request response data model
*/
-(NSDictionary*) getRegionsSyncWithRequest:(JdfusionGetRegionsRequest*) getRegionsRequest
{
JdfusionGetRegionsExecutor* excutor = [[JdfusionGetRegionsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getRegionsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetRegionsResponse* response = [[JdfusionGetRegionsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getRegionsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getRegionsAsyncWithRequest:(JdfusionGetRegionsRequest*) getRegionsRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetRegionsResponse* _Nullable getRegionsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetRegionsExecutor* excutor = [[JdfusionGetRegionsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getRegionsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetRegionsResponse* response = [[JdfusionGetRegionsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
stopSlb sync request
@param stopSlbRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `stopSlbResponse` the request response data model
*/
-(NSDictionary*) stopSlbSyncWithRequest:(JdfusionStopSlbRequest*) stopSlbRequest
{
JdfusionStopSlbExecutor* excutor = [[JdfusionStopSlbExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:stopSlbRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionStopSlbResponse* response = [[JdfusionStopSlbResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"stopSlbResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)stopSlbAsyncWithRequest:(JdfusionStopSlbRequest*) stopSlbRequest
                       completionHandler:(void(^)(int statusCode,JdfusionStopSlbResponse* _Nullable stopSlbResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionStopSlbExecutor* excutor = [[JdfusionStopSlbExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:stopSlbRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionStopSlbResponse* response = [[JdfusionStopSlbResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getTransferTaskProgress sync request
@param getTransferTaskProgressRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getTransferTaskProgressResponse` the request response data model
*/
-(NSDictionary*) getTransferTaskProgressSyncWithRequest:(JdfusionGetTransferTaskProgressRequest*) getTransferTaskProgressRequest
{
JdfusionGetTransferTaskProgressExecutor* excutor = [[JdfusionGetTransferTaskProgressExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getTransferTaskProgressRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetTransferTaskProgressResponse* response = [[JdfusionGetTransferTaskProgressResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getTransferTaskProgressResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getTransferTaskProgressAsyncWithRequest:(JdfusionGetTransferTaskProgressRequest*) getTransferTaskProgressRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetTransferTaskProgressResponse* _Nullable getTransferTaskProgressResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetTransferTaskProgressExecutor* excutor = [[JdfusionGetTransferTaskProgressExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getTransferTaskProgressRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetTransferTaskProgressResponse* response = [[JdfusionGetTransferTaskProgressResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getVpcVServerGroups sync request
@param getVpcVServerGroupsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVpcVServerGroupsResponse` the request response data model
*/
-(NSDictionary*) getVpcVServerGroupsSyncWithRequest:(JdfusionGetVpcVServerGroupsRequest*) getVpcVServerGroupsRequest
{
JdfusionGetVpcVServerGroupsExecutor* excutor = [[JdfusionGetVpcVServerGroupsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getVpcVServerGroupsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcVServerGroupsResponse* response = [[JdfusionGetVpcVServerGroupsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getVpcVServerGroupsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getVpcVServerGroupsAsyncWithRequest:(JdfusionGetVpcVServerGroupsRequest*) getVpcVServerGroupsRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetVpcVServerGroupsResponse* _Nullable getVpcVServerGroupsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetVpcVServerGroupsExecutor* excutor = [[JdfusionGetVpcVServerGroupsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getVpcVServerGroupsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVpcVServerGroupsResponse* response = [[JdfusionGetVpcVServerGroupsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteTransferTask sync request
@param deleteTransferTaskRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteTransferTaskResponse` the request response data model
*/
-(NSDictionary*) deleteTransferTaskSyncWithRequest:(JdfusionDeleteTransferTaskRequest*) deleteTransferTaskRequest
{
JdfusionDeleteTransferTaskExecutor* excutor = [[JdfusionDeleteTransferTaskExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteTransferTaskRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteTransferTaskResponse* response = [[JdfusionDeleteTransferTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteTransferTaskResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteTransferTaskAsyncWithRequest:(JdfusionDeleteTransferTaskRequest*) deleteTransferTaskRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDeleteTransferTaskResponse* _Nullable deleteTransferTaskResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDeleteTransferTaskExecutor* excutor = [[JdfusionDeleteTransferTaskExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteTransferTaskRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteTransferTaskResponse* response = [[JdfusionDeleteTransferTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getTransferTaskFailedFiles sync request
@param getTransferTaskFailedFilesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getTransferTaskFailedFilesResponse` the request response data model
*/
-(NSDictionary*) getTransferTaskFailedFilesSyncWithRequest:(JdfusionGetTransferTaskFailedFilesRequest*) getTransferTaskFailedFilesRequest
{
JdfusionGetTransferTaskFailedFilesExecutor* excutor = [[JdfusionGetTransferTaskFailedFilesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getTransferTaskFailedFilesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetTransferTaskFailedFilesResponse* response = [[JdfusionGetTransferTaskFailedFilesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getTransferTaskFailedFilesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getTransferTaskFailedFilesAsyncWithRequest:(JdfusionGetTransferTaskFailedFilesRequest*) getTransferTaskFailedFilesRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetTransferTaskFailedFilesResponse* _Nullable getTransferTaskFailedFilesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetTransferTaskFailedFilesExecutor* excutor = [[JdfusionGetTransferTaskFailedFilesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getTransferTaskFailedFilesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetTransferTaskFailedFilesResponse* response = [[JdfusionGetTransferTaskFailedFilesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createRdsAccounts sync request
@param createRdsAccountsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createRdsAccountsResponse` the request response data model
*/
-(NSDictionary*) createRdsAccountsSyncWithRequest:(JdfusionCreateRdsAccountsRequest*) createRdsAccountsRequest
{
JdfusionCreateRdsAccountsExecutor* excutor = [[JdfusionCreateRdsAccountsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createRdsAccountsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateRdsAccountsResponse* response = [[JdfusionCreateRdsAccountsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createRdsAccountsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createRdsAccountsAsyncWithRequest:(JdfusionCreateRdsAccountsRequest*) createRdsAccountsRequest
                       completionHandler:(void(^)(int statusCode,JdfusionCreateRdsAccountsResponse* _Nullable createRdsAccountsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionCreateRdsAccountsExecutor* excutor = [[JdfusionCreateRdsAccountsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createRdsAccountsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateRdsAccountsResponse* response = [[JdfusionCreateRdsAccountsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createVpcVServerGroup sync request
@param createVpcVServerGroupRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createVpcVServerGroupResponse` the request response data model
*/
-(NSDictionary*) createVpcVServerGroupSyncWithRequest:(JdfusionCreateVpcVServerGroupRequest*) createVpcVServerGroupRequest
{
JdfusionCreateVpcVServerGroupExecutor* excutor = [[JdfusionCreateVpcVServerGroupExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createVpcVServerGroupRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateVpcVServerGroupResponse* response = [[JdfusionCreateVpcVServerGroupResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createVpcVServerGroupResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createVpcVServerGroupAsyncWithRequest:(JdfusionCreateVpcVServerGroupRequest*) createVpcVServerGroupRequest
                       completionHandler:(void(^)(int statusCode,JdfusionCreateVpcVServerGroupResponse* _Nullable createVpcVServerGroupResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionCreateVpcVServerGroupExecutor* excutor = [[JdfusionCreateVpcVServerGroupExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createVpcVServerGroupRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateVpcVServerGroupResponse* response = [[JdfusionCreateVpcVServerGroupResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getTaskInfoById sync request
@param getTaskInfoByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getTaskInfoByIdResponse` the request response data model
*/
-(NSDictionary*) getTaskInfoByIdSyncWithRequest:(JdfusionGetTaskInfoByIdRequest*) getTaskInfoByIdRequest
{
JdfusionGetTaskInfoByIdExecutor* excutor = [[JdfusionGetTaskInfoByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getTaskInfoByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetTaskInfoByIdResponse* response = [[JdfusionGetTaskInfoByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getTaskInfoByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getTaskInfoByIdAsyncWithRequest:(JdfusionGetTaskInfoByIdRequest*) getTaskInfoByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetTaskInfoByIdResponse* _Nullable getTaskInfoByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetTaskInfoByIdExecutor* excutor = [[JdfusionGetTaskInfoByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getTaskInfoByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetTaskInfoByIdResponse* response = [[JdfusionGetTaskInfoByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createDisk sync request
@param createDiskRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createDiskResponse` the request response data model
*/
-(NSDictionary*) createDiskSyncWithRequest:(JdfusionCreateDiskRequest*) createDiskRequest
{
JdfusionCreateDiskExecutor* excutor = [[JdfusionCreateDiskExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createDiskRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateDiskResponse* response = [[JdfusionCreateDiskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createDiskResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createDiskAsyncWithRequest:(JdfusionCreateDiskRequest*) createDiskRequest
                       completionHandler:(void(^)(int statusCode,JdfusionCreateDiskResponse* _Nullable createDiskResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionCreateDiskExecutor* excutor = [[JdfusionCreateDiskExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createDiskRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateDiskResponse* response = [[JdfusionCreateDiskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
grantRdsAccountsByTask sync request
@param grantRdsAccountsByTaskRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `grantRdsAccountsByTaskResponse` the request response data model
*/
-(NSDictionary*) grantRdsAccountsByTaskSyncWithRequest:(JdfusionGrantRdsAccountsByTaskRequest*) grantRdsAccountsByTaskRequest
{
JdfusionGrantRdsAccountsByTaskExecutor* excutor = [[JdfusionGrantRdsAccountsByTaskExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:grantRdsAccountsByTaskRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGrantRdsAccountsByTaskResponse* response = [[JdfusionGrantRdsAccountsByTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"grantRdsAccountsByTaskResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)grantRdsAccountsByTaskAsyncWithRequest:(JdfusionGrantRdsAccountsByTaskRequest*) grantRdsAccountsByTaskRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGrantRdsAccountsByTaskResponse* _Nullable grantRdsAccountsByTaskResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGrantRdsAccountsByTaskExecutor* excutor = [[JdfusionGrantRdsAccountsByTaskExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:grantRdsAccountsByTaskRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGrantRdsAccountsByTaskResponse* response = [[JdfusionGrantRdsAccountsByTaskResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getDisks sync request
@param getDisksRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getDisksResponse` the request response data model
*/
-(NSDictionary*) getDisksSyncWithRequest:(JdfusionGetDisksRequest*) getDisksRequest
{
JdfusionGetDisksExecutor* excutor = [[JdfusionGetDisksExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getDisksRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetDisksResponse* response = [[JdfusionGetDisksResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getDisksResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getDisksAsyncWithRequest:(JdfusionGetDisksRequest*) getDisksRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetDisksResponse* _Nullable getDisksResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetDisksExecutor* excutor = [[JdfusionGetDisksExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getDisksRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetDisksResponse* response = [[JdfusionGetDisksResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
detachVpcNetworkInterfaceById sync request
@param detachVpcNetworkInterfaceByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `detachVpcNetworkInterfaceByIdResponse` the request response data model
*/
-(NSDictionary*) detachVpcNetworkInterfaceByIdSyncWithRequest:(JdfusionDetachVpcNetworkInterfaceByIdRequest*) detachVpcNetworkInterfaceByIdRequest
{
JdfusionDetachVpcNetworkInterfaceByIdExecutor* excutor = [[JdfusionDetachVpcNetworkInterfaceByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:detachVpcNetworkInterfaceByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDetachVpcNetworkInterfaceByIdResponse* response = [[JdfusionDetachVpcNetworkInterfaceByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"detachVpcNetworkInterfaceByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)detachVpcNetworkInterfaceByIdAsyncWithRequest:(JdfusionDetachVpcNetworkInterfaceByIdRequest*) detachVpcNetworkInterfaceByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDetachVpcNetworkInterfaceByIdResponse* _Nullable detachVpcNetworkInterfaceByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDetachVpcNetworkInterfaceByIdExecutor* excutor = [[JdfusionDetachVpcNetworkInterfaceByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:detachVpcNetworkInterfaceByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDetachVpcNetworkInterfaceByIdResponse* response = [[JdfusionDetachVpcNetworkInterfaceByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createVmInstance sync request
@param createVmInstanceRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createVmInstanceResponse` the request response data model
*/
-(NSDictionary*) createVmInstanceSyncWithRequest:(JdfusionCreateVmInstanceRequest*) createVmInstanceRequest
{
JdfusionCreateVmInstanceExecutor* excutor = [[JdfusionCreateVmInstanceExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createVmInstanceRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateVmInstanceResponse* response = [[JdfusionCreateVmInstanceResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createVmInstanceResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createVmInstanceAsyncWithRequest:(JdfusionCreateVmInstanceRequest*) createVmInstanceRequest
                       completionHandler:(void(^)(int statusCode,JdfusionCreateVmInstanceResponse* _Nullable createVmInstanceResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionCreateVmInstanceExecutor* excutor = [[JdfusionCreateVmInstanceExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createVmInstanceRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateVmInstanceResponse* response = [[JdfusionCreateVmInstanceResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteSlbsListener sync request
@param deleteSlbsListenerRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteSlbsListenerResponse` the request response data model
*/
-(NSDictionary*) deleteSlbsListenerSyncWithRequest:(JdfusionDeleteSlbsListenerRequest*) deleteSlbsListenerRequest
{
JdfusionDeleteSlbsListenerExecutor* excutor = [[JdfusionDeleteSlbsListenerExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteSlbsListenerRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteSlbsListenerResponse* response = [[JdfusionDeleteSlbsListenerResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteSlbsListenerResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteSlbsListenerAsyncWithRequest:(JdfusionDeleteSlbsListenerRequest*) deleteSlbsListenerRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDeleteSlbsListenerResponse* _Nullable deleteSlbsListenerResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDeleteSlbsListenerExecutor* excutor = [[JdfusionDeleteSlbsListenerExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteSlbsListenerRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteSlbsListenerResponse* response = [[JdfusionDeleteSlbsListenerResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getCloudInfoById sync request
@param getCloudInfoByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getCloudInfoByIdResponse` the request response data model
*/
-(NSDictionary*) getCloudInfoByIdSyncWithRequest:(JdfusionGetCloudInfoByIdRequest*) getCloudInfoByIdRequest
{
JdfusionGetCloudInfoByIdExecutor* excutor = [[JdfusionGetCloudInfoByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getCloudInfoByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetCloudInfoByIdResponse* response = [[JdfusionGetCloudInfoByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getCloudInfoByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getCloudInfoByIdAsyncWithRequest:(JdfusionGetCloudInfoByIdRequest*) getCloudInfoByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetCloudInfoByIdResponse* _Nullable getCloudInfoByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetCloudInfoByIdExecutor* excutor = [[JdfusionGetCloudInfoByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getCloudInfoByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetCloudInfoByIdResponse* response = [[JdfusionGetCloudInfoByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteVmKeypairByName sync request
@param deleteVmKeypairByNameRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteVmKeypairByNameResponse` the request response data model
*/
-(NSDictionary*) deleteVmKeypairByNameSyncWithRequest:(JdfusionDeleteVmKeypairByNameRequest*) deleteVmKeypairByNameRequest
{
JdfusionDeleteVmKeypairByNameExecutor* excutor = [[JdfusionDeleteVmKeypairByNameExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteVmKeypairByNameRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteVmKeypairByNameResponse* response = [[JdfusionDeleteVmKeypairByNameResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteVmKeypairByNameResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteVmKeypairByNameAsyncWithRequest:(JdfusionDeleteVmKeypairByNameRequest*) deleteVmKeypairByNameRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDeleteVmKeypairByNameResponse* _Nullable deleteVmKeypairByNameResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDeleteVmKeypairByNameExecutor* excutor = [[JdfusionDeleteVmKeypairByNameExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteVmKeypairByNameRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteVmKeypairByNameResponse* response = [[JdfusionDeleteVmKeypairByNameResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
stopVmInstanceById sync request
@param stopVmInstanceByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `stopVmInstanceByIdResponse` the request response data model
*/
-(NSDictionary*) stopVmInstanceByIdSyncWithRequest:(JdfusionStopVmInstanceByIdRequest*) stopVmInstanceByIdRequest
{
JdfusionStopVmInstanceByIdExecutor* excutor = [[JdfusionStopVmInstanceByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:stopVmInstanceByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionStopVmInstanceByIdResponse* response = [[JdfusionStopVmInstanceByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"stopVmInstanceByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)stopVmInstanceByIdAsyncWithRequest:(JdfusionStopVmInstanceByIdRequest*) stopVmInstanceByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionStopVmInstanceByIdResponse* _Nullable stopVmInstanceByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionStopVmInstanceByIdExecutor* excutor = [[JdfusionStopVmInstanceByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:stopVmInstanceByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionStopVmInstanceByIdResponse* response = [[JdfusionStopVmInstanceByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
revokeRdsAccount sync request
@param revokeRdsAccountRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `revokeRdsAccountResponse` the request response data model
*/
-(NSDictionary*) revokeRdsAccountSyncWithRequest:(JdfusionRevokeRdsAccountRequest*) revokeRdsAccountRequest
{
JdfusionRevokeRdsAccountExecutor* excutor = [[JdfusionRevokeRdsAccountExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:revokeRdsAccountRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionRevokeRdsAccountResponse* response = [[JdfusionRevokeRdsAccountResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"revokeRdsAccountResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)revokeRdsAccountAsyncWithRequest:(JdfusionRevokeRdsAccountRequest*) revokeRdsAccountRequest
                       completionHandler:(void(^)(int statusCode,JdfusionRevokeRdsAccountResponse* _Nullable revokeRdsAccountResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionRevokeRdsAccountExecutor* excutor = [[JdfusionRevokeRdsAccountExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:revokeRdsAccountRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionRevokeRdsAccountResponse* response = [[JdfusionRevokeRdsAccountResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getDiskById sync request
@param getDiskByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getDiskByIdResponse` the request response data model
*/
-(NSDictionary*) getDiskByIdSyncWithRequest:(JdfusionGetDiskByIdRequest*) getDiskByIdRequest
{
JdfusionGetDiskByIdExecutor* excutor = [[JdfusionGetDiskByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getDiskByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetDiskByIdResponse* response = [[JdfusionGetDiskByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getDiskByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getDiskByIdAsyncWithRequest:(JdfusionGetDiskByIdRequest*) getDiskByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetDiskByIdResponse* _Nullable getDiskByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetDiskByIdExecutor* excutor = [[JdfusionGetDiskByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getDiskByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetDiskByIdResponse* response = [[JdfusionGetDiskByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getVmImages sync request
@param getVmImagesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVmImagesResponse` the request response data model
*/
-(NSDictionary*) getVmImagesSyncWithRequest:(JdfusionGetVmImagesRequest*) getVmImagesRequest
{
JdfusionGetVmImagesExecutor* excutor = [[JdfusionGetVmImagesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getVmImagesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVmImagesResponse* response = [[JdfusionGetVmImagesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getVmImagesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getVmImagesAsyncWithRequest:(JdfusionGetVmImagesRequest*) getVmImagesRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetVmImagesResponse* _Nullable getVmImagesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetVmImagesExecutor* excutor = [[JdfusionGetVmImagesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getVmImagesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVmImagesResponse* response = [[JdfusionGetVmImagesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
editDeployment sync request
@param editDeploymentRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `editDeploymentResponse` the request response data model
*/
-(NSDictionary*) editDeploymentSyncWithRequest:(JdfusionEditDeploymentRequest*) editDeploymentRequest
{
JdfusionEditDeploymentExecutor* excutor = [[JdfusionEditDeploymentExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:editDeploymentRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionEditDeploymentResponse* response = [[JdfusionEditDeploymentResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"editDeploymentResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)editDeploymentAsyncWithRequest:(JdfusionEditDeploymentRequest*) editDeploymentRequest
                       completionHandler:(void(^)(int statusCode,JdfusionEditDeploymentResponse* _Nullable editDeploymentResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionEditDeploymentExecutor* excutor = [[JdfusionEditDeploymentExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:editDeploymentRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionEditDeploymentResponse* response = [[JdfusionEditDeploymentResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteDatasource sync request
@param deleteDatasourceRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteDatasourceResponse` the request response data model
*/
-(NSDictionary*) deleteDatasourceSyncWithRequest:(JdfusionDeleteDatasourceRequest*) deleteDatasourceRequest
{
JdfusionDeleteDatasourceExecutor* excutor = [[JdfusionDeleteDatasourceExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteDatasourceRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteDatasourceResponse* response = [[JdfusionDeleteDatasourceResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteDatasourceResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteDatasourceAsyncWithRequest:(JdfusionDeleteDatasourceRequest*) deleteDatasourceRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDeleteDatasourceResponse* _Nullable deleteDatasourceResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDeleteDatasourceExecutor* excutor = [[JdfusionDeleteDatasourceExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteDatasourceRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteDatasourceResponse* response = [[JdfusionDeleteDatasourceResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteVpcSlbById sync request
@param deleteVpcSlbByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteVpcSlbByIdResponse` the request response data model
*/
-(NSDictionary*) deleteVpcSlbByIdSyncWithRequest:(JdfusionDeleteVpcSlbByIdRequest*) deleteVpcSlbByIdRequest
{
JdfusionDeleteVpcSlbByIdExecutor* excutor = [[JdfusionDeleteVpcSlbByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteVpcSlbByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteVpcSlbByIdResponse* response = [[JdfusionDeleteVpcSlbByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteVpcSlbByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteVpcSlbByIdAsyncWithRequest:(JdfusionDeleteVpcSlbByIdRequest*) deleteVpcSlbByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDeleteVpcSlbByIdResponse* _Nullable deleteVpcSlbByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDeleteVpcSlbByIdExecutor* excutor = [[JdfusionDeleteVpcSlbByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteVpcSlbByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteVpcSlbByIdResponse* response = [[JdfusionDeleteVpcSlbByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteVmInstanceById sync request
@param deleteVmInstanceByIdRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteVmInstanceByIdResponse` the request response data model
*/
-(NSDictionary*) deleteVmInstanceByIdSyncWithRequest:(JdfusionDeleteVmInstanceByIdRequest*) deleteVmInstanceByIdRequest
{
JdfusionDeleteVmInstanceByIdExecutor* excutor = [[JdfusionDeleteVmInstanceByIdExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteVmInstanceByIdRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteVmInstanceByIdResponse* response = [[JdfusionDeleteVmInstanceByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteVmInstanceByIdResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteVmInstanceByIdAsyncWithRequest:(JdfusionDeleteVmInstanceByIdRequest*) deleteVmInstanceByIdRequest
                       completionHandler:(void(^)(int statusCode,JdfusionDeleteVmInstanceByIdResponse* _Nullable deleteVmInstanceByIdResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionDeleteVmInstanceByIdExecutor* excutor = [[JdfusionDeleteVmInstanceByIdExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteVmInstanceByIdRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionDeleteVmInstanceByIdResponse* response = [[JdfusionDeleteVmInstanceByIdResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getVmInstanceTypes sync request
@param getVmInstanceTypesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getVmInstanceTypesResponse` the request response data model
*/
-(NSDictionary*) getVmInstanceTypesSyncWithRequest:(JdfusionGetVmInstanceTypesRequest*) getVmInstanceTypesRequest
{
JdfusionGetVmInstanceTypesExecutor* excutor = [[JdfusionGetVmInstanceTypesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getVmInstanceTypesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVmInstanceTypesResponse* response = [[JdfusionGetVmInstanceTypesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getVmInstanceTypesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getVmInstanceTypesAsyncWithRequest:(JdfusionGetVmInstanceTypesRequest*) getVmInstanceTypesRequest
                       completionHandler:(void(^)(int statusCode,JdfusionGetVmInstanceTypesResponse* _Nullable getVmInstanceTypesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionGetVmInstanceTypesExecutor* excutor = [[JdfusionGetVmInstanceTypesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getVmInstanceTypesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionGetVmInstanceTypesResponse* response = [[JdfusionGetVmInstanceTypesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createBucket sync request
@param createBucketRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createBucketResponse` the request response data model
*/
-(NSDictionary*) createBucketSyncWithRequest:(JdfusionCreateBucketRequest*) createBucketRequest
{
JdfusionCreateBucketExecutor* excutor = [[JdfusionCreateBucketExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createBucketRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateBucketResponse* response = [[JdfusionCreateBucketResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createBucketResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createBucketAsyncWithRequest:(JdfusionCreateBucketRequest*) createBucketRequest
                       completionHandler:(void(^)(int statusCode,JdfusionCreateBucketResponse* _Nullable createBucketResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
JdfusionCreateBucketExecutor* excutor = [[JdfusionCreateBucketExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createBucketRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    JdfusionCreateBucketResponse* response = [[JdfusionCreateBucketResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}


 /**
 jdfusion common sync request
 @param  jdcloudDataRequest request param
 @return key `statusCode` http request status code type is int
             `dataResult` the http request response data  type is NSData
             `requestError` the request error type is NSError
 */
 -(NSDictionary*) jdfusionCommonSyncWithRequest:(JDCloudDataRequest*) jdcloudDataRequest
                                                   url:(NSString*) url
                                                method:(NSString*) method{
    CommonExecutor* excutor = [[CommonExecutor alloc] initWithJDCloudClient:self url:url method:method];
    NSDictionary* responseResult = [excutor executeDataSync:jdcloudDataRequest];
    return responseResult;
}

-(void)jdfusionCommonAsyncWithRequest:(JDCloudDataRequest*) jdcloudDataRequest
                                         url:(NSString*) url
                                      method:(NSString*) method
                           completionHandler:(void(^)(int statusCode, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
     CommonExecutor* excutor = [[CommonExecutor alloc] initWithJDCloudClient:self url:url method:method];
    
    [excutor executeDataAsync:jdcloudDataRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        completionHandler(statusCode,responseData,error);
    }];
} 

@end
